PHP中不使用foreach检查多维数组状态条件的实现方案
PHP 不使用foreach判断多维数组的state字段
场景一:单元素多维数组
给定数组:
$orderStates = [ [ 'state' => 'runner_accepted' ] ];
需求:判断数组中第一个元素的state是否等于runner_accepted,满足则输出"active",否则输出"inactive"。
实现代码:
if ($orderStates[0]['state'] === 'runner_accepted') { echo "active"; } else { echo "inactive"; }
场景二:多元素多维数组
给定数组:
$orderStates = [ [ 'state' => 'reached_for_pickup' ], [ 'state' => 'runner_accepted' ] ];
需求:判断数组中是否存在state等于reached_for_pickup的元素,满足则输出"active",否则输出"inactive"(不使用foreach)。
实现代码:
// 通用写法:提取所有state字段到一维数组后判断 $states = array_column($orderStates, 'state'); if (in_array('reached_for_pickup', $states)) { echo "active"; } else { echo "inactive"; } // 固定位置判断(若确定目标值在指定索引) // if ($orderStates[0]['state'] === 'reached_for_pickup') { // echo "active"; // } else { // echo "inactive"; // }
内容的提问来源于stack exchange,提问作者vicky
相关产品推荐
相关产品推荐

