如何从多数组中获取价值? [复制]
Posted
技术标签:
【中文标题】如何从多数组中获取价值? [复制]【英文标题】:How to get value from a multi-array? [duplicate] 【发布时间】:2018-05-20 21:00:28 【问题描述】:如果条件匹配,我想从多数组中获取变量的特定值。
当我打印我的数组时:
print_r($myarray);
给出这样的数组:
Array
(
[0] => Array
(
[id] => 21 //check for this value
[customer_id] => 12456 //get this value
[date] => 12-06-2017
)
[1] => Array
(
[id] => 15
[customer_id] => 12541
[date] => 12-06-2017
)
[2] => Array
(
[id] => 12
[customer_id] => 25415
[date] => 12-06-2017
)
)
如果 ID 与 21
匹配,我正在尝试获取 客户编号foreach ($myarray as $array)
if($array[][id] == "21") //this is where I'm making mistake
$cust_id = $myarray[]['customer_id'];
return $cust_id;
【问题讨论】:
感谢您找到重复的人,这对如何搜索也有很大帮助。 【参考方案1】:由于您在 数组中循环,因此您已经有了一个单个项目。所以就这样做吧
foreach ($myarray as $array)
if ($array["id"] == "21")
return $array["customer_id"];
【讨论】:
挑剔:推荐$array['id']
感谢您的回答
$cust_id = $myarray['customer_id']);!!!!有 2 个错误的语句!!! customer_id 不是 $myarray 的有效索引。和意想不到的“)”!!它是如何工作的?【参考方案2】:
你可以创建一个自定义函数并调用它,像这样
function arraySearch($theArray, $searchKey, $searchValue, $returnKey)
foreach($theArray as $value)
if($value[$searchKey] == $searchValue) return $value[$returnKey]; //found, return the value of the choosen $returnKey var
return false; //not found, so return false
然后使用它
echo arraySearch($myarray, 'id', '21', 'customer_id'); // it returns 12456
EXAMPLE
【讨论】:
【参考方案3】:foreach ($myarray as $array)
if($array["id"] == 21)
$cust_id = $array['customer_id'];
return $cust_id;
【讨论】:
纯代码答案是 *** 上的低价值帖子。请通过它的工作原理以及为什么它是合适的解决方案来改进您的答案。以上是关于如何从多数组中获取价值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章