[英]PHP - elegant way to check if assoc array value has a subarray?
有沒有優雅的方法來檢查是否
$review['passenger']
有任何$review['passenger']['*']
?
嘗試使用is_array()
。 它會檢查它是否是一個數組 -
if(is_array($review['passenger'])) {
// is an array
}
或者,如果您想檢查某個key
是否存在,那么 -
if(array_key_exists('key', $review['passenger'])) { ... }
相信Danius用“ ['*']
代替將其指定為“ 該 ”子陣列”,以引用“ 一個或多個的子陣列 ”,。
關於他的問題,驗證數組的特定KEY是否具有子數組的唯一方法是逐個檢查其子項,以確定它們中的任何一個是否是數組。
它可能不是“ 優雅的 ”,但它確實是功能性的:
function has_array($arr) {
$has_array = false;
foreach ($arr as $item):
if (is_array($item)):
$has_array = true;
break;
endif;
endforeach;
return $has_array;
}
只需以這種方式調用函數:
$result = has_array($review['passenger']);
我希望它有所幫助。
您可以使用array_key_exists
:
$array = array(
"passenger" => array(
"*" => "ok"
)
);
if(array_key_exists('*', $array['passenger'])){
echo "ok";
} else {
echo "not ok";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.