php array_filter 二维数组,php – array_filter和多维数组

findNameFromID($array,$ID) {

return array_values(array_filter($array, function($arrayValue) use($ID) { return $arrayValue['id'] == $ID; } ));

}

$name = findNameFromID($arr,43);

if (count($name) > 0) {

$name = $name[0]['name'];

} else {

echo 'No match found';

}

PHP 5.3.0及以上版本

编辑

或变体:

findNameFromID($array,$ID) {

$results = array_values(array_filter($array, function($arrayValue) use($ID) { return $arrayValue['id'] == $ID; } ));

if (count($results) > 0) {

return $name[0]['name'];

} else {

return FALSE;

}

}

$name = findNameFromID($arr,43);

if (!$name) {

echo 'No match found';

}

编辑#2

从PHP 5.5开始,我们可以使用array_column()

findNameFromID($array, $ID) {

$results = array_column($array, 'name', 'id');

return (isset($results[$ID])) ? $results[$ID] : FALSE;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`array_rand()` 函数可以用于从数组中随机选择一个或多个键。如果你要从二维数组中随机选择一个键,则需要先随机选择一个子数组,然后再从该子数组中随机选择一个键。下面是一个示例代码: ```php $array = array( array('a', 'b', 'c'), array('d', 'e', 'f'), array('g', 'h', 'i') ); $random_subarray = $array[array_rand($array)]; // 随机选择一个子数组 $random_key = array_rand($random_subarray); // 从子数组中随机选择一个键 echo $random_subarray[$random_key]; // 输出随机选择的值 ``` 在上面的示例代码中,我们首先定义了一个二维数组 `$array`。然后,我们使用 `array_rand()` 函数从 `$array` 中随机选择一个子数组,并将其赋值给 `$random_subarray`。接着,我们再次使用 `array_rand()` 函数从 `$random_subarray` 中随机选择一个键,并将其赋值给 `$random_key`。最后,我们输出随机选择的值。 需要注意的是,如果你想从二维数组中随机选择多个键,则可以使用 `array_rand()` 函数的第二个参数来指定要选择的键的数量。例如,如果你要从上面的示例数组中随机选择两个键,则可以使用以下代码: ```php $random_subarray = $array[array_rand($array)]; $random_keys = array_rand($random_subarray, 2); // 从子数组中随机选择两个键 foreach ($random_keys as $random_key) { echo $random_subarray[$random_key] . " "; } ``` 在上面的示例代码中,我们使用 `array_rand()` 函数的第二个参数来指定要选择的键的数量为 2。然后,我们使用 `foreach` 循环来遍历 `$random_keys` 数组,并输出随机选择的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值