جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.

×
×
کد تخفیف اسنپ تاکسی با 50% تخفیف! دریافت کد
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

چگونه می توانم تعداد آیتم های یک آرایه را با وجود یک شرط بشمارم؟


1
0
1796

سلام. یک آرایه (php array) دارم به این شکل:

$arr [
         ["name" = "Martin", "type" = "0"],
         ["name" = "Jack", "type" = "0"],
         ["name" = "Tiam", "type" = "1"]
     ];

توی آرایه هر آیتم خودش یک آرایه‌ی دیگه است که توی اون آرایه‌ی داخلی یک آیتم وجود داره به اسم type. همیشه |ین آیتم وجود داره. الان من می خوام تعداد آرایه اصلی، همون $arr رو بشمرم ولی مشروط به اینکه آیتم type آرایه داخلیش 1 باشه. یعنی نمیشه از count($arr) استفاده کنم چون 3 بر می گردونه و من می خوام 1 برگردونه. چون فقط آیتم type در یک مورد (آیتم آخر آرایه اصلی) برابر 1 است. چی کار باید کنم؟ چگونه این چیزی که می خوام محاسبه میشه با php ؟

علمی برنامه-نویسی پی-اچ-پی
سوال شده در ساناز رضایی
1366 امتیاز

500 کاراکتر باقی مانده

2 جواب

4

لطفا این کد را امتحان کنید:

<?php

$arr = [
         ["name" => "Martin", "type" => "0"],
         ["name" => "Jack", "type" => "0"],
         ["name" => "Tiam", "type" => "1"]
     ];

echo count(array_filter($arr, function($v, $k){ return $v['type'] == 1; },ARRAY_FILTER_USE_BOTH));

?>
جواب داده شده در نورالله رضایی
878 امتیاز


مرسی عالیههه ــ ساناز رضایی در 6 سال قبل

500 کاراکتر باقی مانده


5

خب پیشنهاد می کنم از توابع array_count_values و array_column استفاده کنی:

echo array_count_values(array_column($arr, 'type'))[1];
//=> 1

نمونه آنلاین

شایان ذکره که اگه بخوای اونایی رو بشمری که محتوای آیتم typeشون مثلا 5 هست، باید آخر کد رو به [5] تغییر بدی.


همچنین راه های دیگه ای هم هست که می تونی لوپ بزنی روی آرایه و چک کنی ببینی مقدار آیتم type چنده و اگه 1 بود برشگردونی و نهایتاً چیزایی که برگشتن رو بشمری. با توابع array_walk و array_map و array_filter می تونی این کار رو انجام بدی. به عنوان مثال من با array_filter انجام میدم:

echo count(array_filter($arr,function($item){
    return $item['type'] == 1;
}));
//=> 1

کد کامل:

<?php

$arr = [
    ["name" => "Martin", "type" => "0"],
    ["name" => "Jack", "type" => "0"],
    ["name" => "Tiam", "type" => "1"],
];

echo count(array_filter($arr,function($item){
    return $item['type'] == 1;
}));
جواب داده شده در سجاد شفی زاده <m>★</m>
11.1k امتیاز


مرسی توضیحات اضافی عالی بودن ــ ساناز رضایی در 6 سال قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


وب سایت لام تا کام جهت نمایش استاندارد و کاربردی در تمامی نمایشگر ها بهینه شده است.

تبلیغات توضیحی


عرشیان از کجا شروع کنم ؟
تغییر و تحول با استاد سید محمد عرشیانفر

تبلیغات تصویری


کپی