一尘不染

搜索具有特定列值的数组行并从符合条件的行返回另一个值

php

我有一个多维数组,我正在尝试搜索特定值 ( url),然后在同一行 () 中检索另一个值value。如果找不到,我还需要转移到其他地方。

array(2) { 
  [0]=> array(2) { 
    ["url"]=> string(7) "fareham" 
    ["value"]=> string(7) "Fareham" 
  } 

 [1]=> array(2) { 
    ["url"]=> string(11) "southampton" 
    ["value"]=> string(11) "Southampton" 
  } 
}

我一直在尝试array_key_exists()isset()检查它是否已设置并且即将推出null

例如,如果我搜索fareham,我想返回Fareham。如果我搜索nottingham,我期待null

如何隔离合格值?


阅读 96

收藏
2022-07-23

共1个答案

一尘不染

用于array_column()按 url 列索引数据,然后用于isset()检查值是否存在…

$data = array_column($data, "value", "url");
$search = 'southampton';

$value = isset($data[$search])?$data[$search]:"not found";

echo $value;

或者对于 PHP 7+,您可以使用空合并运算符 (??)

$value = $data[$search]??"not found";
2022-07-23