我有这个多数组:
Array (
[0] => Array (
[title] => f2
)
[1] => Array (
[title] => f2
)
[2] => Array (
[title] => f3
)
)
Run Code Online (Sandbox Code Playgroud)
我只想检查键(由表示$item)是否在数组中不止一次,因此在我的情况下,“ f2”在数组中不止一次。
我使用进行了尝试in_array,但不适用于多数组。
然后我尝试了这个:
$item='f2';
$array_count = array_count_values($titles);
if (array_key_exists($item, $array_count) && ($array_count[$item] > 1))
{
echo 'more than once';
}
Run Code Online (Sandbox Code Playgroud)
但这仍然无法正常工作。
array_column和array_count_values可以结合使用:
$arr = [
[
'title' => 'f2'
],
[
'title' => 'f2'
],
[
'title' => 'f3'
]
];
$counts = array_count_values(array_column($arr, 'title'));
print_r($counts);
Run Code Online (Sandbox Code Playgroud)
输出量
Array
(
[f2] => 2
[f3] => 1
)
Run Code Online (Sandbox Code Playgroud)
获得总数后,您只需执行以下操作:
if (($counts[$item] ?? 0) > 1) {
// do action
}
Run Code Online (Sandbox Code Playgroud)
阅读材料