许多这样的搜索通常是为了在记录列表中查找内容,正如一些人指出的那样,这实际上是一个二维数组。
这适用于具有统一键集的记录列表(例如从数据库中获取的记录列表等)。
为了完整起见,这个结构包括了'in_array'和'key_exists'风格的函数。这两个函数都返回一个简单的true/false布尔值。
记录的二维数组示例...
$records array:
[0] => Array
(
[first_name] => Charlie
[last_name] => Brown
)
[1] => Array
(
[first_name] => Fred
[last_name] => Sanford
)
函数:
function in_multidimensional_array($array, $column_key, $search) {
return in_array($search, array_column($array, $column_key));
}
function multidimensional_array_key_exists($array, $column_key) {
return in_array($column_key, array_keys(array_shift($array)));
}
测试:
var_dump(in_multidimensional_array($records, 'first_name', 'Charlie')); // true
var_dump(multidimensional_array_key_exists($records, 'first_name')); // true
var_dump(array_sum(array_map(function ($tmp) {return in_array('NT',$tmp);}, $multiarray)) > 0);
的一句话代码。 - Agnius Vasiliauskas$multiarray = array( "Hello", array("Mac", "NT"), array("Irix", "Linux"));
- Paolois_array()
函数检查变量$tmp
是否为数组。如果不是数组,则继续执行不同的方案。 - Agnius Vasiliauskas