如何从多数组中获取价值? [复制]

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
   )
)

如果 ID21

匹配,我正在尝试获取 客户编号
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;
  

【讨论】:

纯代码答案是 *** 上的低价值帖子。请通过它的工作原理以及为什么它是合适的解决方案来改进您的答案。

以上是关于如何从多数组中获取价值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式获取价值? [复制]

从python中的html获取价值的最佳方法? [复制]

在 Android 上通过 GSON 从嵌套 JSON 数组中获取价值? [复制]

我如何从特定的多数组中仅获取八月的数据[重复]

在python中获取价值组件? [复制]

推荐系统的价值观