[英]How can I find specific values in an array for PHP
您好我是PHP的新手,想知道如何在同一個數組中找到特定的token
和token_time
。 例如,如何在下面的數組中找到token
值440745553780011a38b207466e2dae1a
以及token_time
值1495672355
並顯示它們?
排列
array (size=1)
'token' =>
array (size=4)
0 =>
array (size=2)
'token' => string '04a1dd0991b366fdc4d7d46fcff03cb3' (length=32)
'token_time' => int 1495672339
1 =>
array (size=2)
'token' => string '80d84dc863cbbeaef0c9a448f7865352' (length=32)
'token_time' => int 1495672345
2 =>
array (size=2)
'token' => string '440745553780011a38b207466e2dae1a' (length=32)
'token_time' => int 1495672355
3 =>
array (size=2)
'token' => string '766ac765d2a34e01cd954444d5895208' (length=32)
'token_time' => int 1495672525
令人驚訝的是,您可以像往常一樣使用array_search()但使用數組:
$id = array_search([
'token' => '440745553780011a38b207466e2dae1a',
'token_time' => 1495672355
], $array['token']);
$id
將包含兩個值都存在的數組的id。 然后,您可以像這樣訪問它:
$array['token'][$id];
這些術語甚至不需要在正確的順序中或在針陣列中輸入:
$id = array_search([
'token_time' => '1495672355', //passed as string, whereas array has these as ints
'token' => '440745553780011a38b207466e2dae1a'
], $array['token']);
這是一個功能,可以滿足您的需求:
function findToken(&$array, $token, $time){
foreach($array['token'] as $data){
if($data['token'] == $token && $data['token_time'] == $time){
return $data;
}
}
return null;
}
以下是如何使用它:
$token = findToken($array, '440745553780011a38b207466e2dae1a', '1495672355');
if($token){
echo "Found token";
} else {
echo "Token not found";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.