[英]PHP check if array key exist
我有一個數組,在該數組中我有更多的元素。 我想檢查是否存在特定元素
$jsondata = file_get_contents('php://input');
$jsonobj = json_decode($jsondata, true);
$jsonobj=Array(
[user] => Array
(
[userId] => 1501148600220
[locale] => en-US
// no TOKEN
)
);
$jsonobj=Array(
[user] => Array
(
[userId] => 1501148600220
[locale] => en-US
[token] => 12345 // TOKEN exist
)
);
以下是解碼后的 JSON。
接收的 JSON 有時可能包含也可能不包含元素“令牌”。
我想檢查 $jsonobj 是否有元素“令牌”
if (array_key_exists('token', $jsonobj)) {
echo "Element is in the array";
}
我如何根據我的數組的結構來檢查這個?
有時,jsonobj 可能不包含任何內容。 它可能是空的。 如果它是空的,我會收到一個錯誤
PHP Warning: array_key_exists() expects parameter 2 to be array
if (array_key_exists('token', $jsonobj['user'])) {
echo "Element is in the array";
}
您只需要在多維$jsonobj
數組中傳遞索引'user'
像這樣
if (array_key_exists('token', $jsonobj['user'])) {
echo "Element is in the array";
}
修改:-
$jsonobj=json_decode($jsonobj,true);
if(!empty($jsonobj['user'])&&is_array($jsonobj['user']))
{
if (array_key_exists('token', $jsonobj['user'])) {
echo "Element is in the array";
}
}
你必須檢查你的$jsonobj
數組鍵是user
。 所以,如果你想檢查user
數組鍵,那么你應該這樣寫,
if (array_key_exists('token', $jsonobj['user']))
{
echo "Element is in the array";
}
請參閱本手冊。
foreach($jsonobj as $obj => $val){
if(is_array($val)){
if(array_key_exists('token', $val)){
echo 'exist';
}else{
echo 'not exist';
}
}
}
您始終可以使用這一行來檢查數組中是否存在嵌套鍵:
Arr::has($jsonobj, 'user.token');
// Or
Arr::has($jsonobj, ['user', 'token']);
如果您想了解有關此方法或其他在處理多維數組時有用的方法的更多信息,請查看此php 數組庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.