Tôi có một mảng có tên $ uid. Làm cách nào tôi có thể kiểm tra xem giá trị "12" có nằm trong mảng $ uid của tôi không?Kiểm tra số lần giá trị cụ thể trong mảng PHP
11
A
Trả lời
25
Một số cách.
$cnt = count(array_filter($uid,create_function('$a','return $a==12;')));
hoặc
$tmp = array_count_values($uid);
$cnt = $tmp[12];
hoặc bất kỳ số lượng các phương pháp khác.
0
$repeated = array();
foreach($uid as $id){
if (!isset($repeated[$id])) $repeated[$id] = -1;
$repeated[$id]++;
}
điều này sẽ dẫn ví dụ như trong
array(
12 => 2
14 => 1
)
8
Sử dụng array_count_values()
. Ví dụ:
$freqs = array_count_values($uid);
$freq_12 = $freqs['12'];
2
Sử dụng chức năng array_count_values.
$uid_counts = array_count_values($uid);
$number_of_12s = $uid_counts[12];
2
có giải pháp khác nhau như sau:
$count = count(array_filter($uid, function($x) { return $x==12;}));
hoặc
array_reduce($uid, function($c, $v) { return $v + ($c == 12?1:0);},0)
hay chỉ là một vòng lặp for
for($i=0, $last=count($uid), $count=0; $i<$last;$i++)
if ($uid[$i]==12) $count++;
hoặc một foreach
01.$count=0;
foreach($uid as $current)
if ($current==12) $count++;
3
Rất đơn giản:
$uid= array(12,23,12,4,2,5,56);
$indexes = array_keys($uid, 12); //array(0, 1)
echo count($indexes);
+0
công việc tuyệt vời .. @ Baum & @MD –
array_count_values sẽ không làm việc ở đây. Tôi không làm .. array_count_values ($ string) // hoặc 12 là $ string – DanielOlivasJr
Phiên bản hiện tại của PHP không cho phép bạn sử dụng ký hiệu '[]' sau khi thực hiện cuộc gọi chức năng. – Hammerite
@Hammerite ngu ngốc, sửa chữa –