从一系列值数组php中选择一个特定的值

时间:2013-02-22 07:56:14

标签: php arrays loops

我有一个如下所示的数组: 我需要使用这种格式的数组,以便稍后在脚本中使用。

//this is only 1 values set there are others that are returned.
    Array
    (
        [DealerName] => Auto Bavaria Midrand MINI
        [CustomersCounted] => 16
        [Satisfied_Y] => 10
        [Satisfied_N] => 6
        [InterviewDate] => 2012-01-13
    )

我调用了循环的数组$customerSatisfactionRatings

foreach($customerSatisfactionRatings as $customerSatisfactionRating) {
      $content .= $customerSatisfactionRating';
    }

这会将正确的值返回到content变量中。 我感兴趣的是从[Satisfied_Y]键创建一个字符串。

我需要的一个例子是$content = '10,5,15,7,8,9,0,3';

我知道如何制作字符串,但不知道如何只提取[Satisfied_Y]键。 这让我很伤心。

3 个答案:

答案 0 :(得分:2)

您使用映射函数从每个Satisfied_Y项中提取每个$customerSatisfactionRatings列,然后将结果连接在一起:

$content = join(',', array_map(function($item) {
    return $item['Satisfied_Y'];
}, $customerSatisfactionRatings));

这假设$customerSatisfactionRatings中的每个项目都是您问题中描述的数组。

另请参阅:array_map()

答案 1 :(得分:1)

我认为它会起作用。试试这个,

$satisfyY = array();
foreach($customerSatisfactionRatings as $customerSatisfactionRating) {
      $content .= $customerSatisfactionRating;
      $satisfyY = $customerSatisfactionRating['Satisfied_Y'];
 }

然后将其内爆以制作一个字符串。

$sat_Y = implode(",", $satisfyY);

答案 2 :(得分:1)

foreach($customerSatisfactionRatings as $temp)
 if (isset($temp['Satisfied_Y']))
   {
   if (isset($content)) $content.=','.$temp['Satisfied_Y'];
    else $content=$temp['Satisfied_Y'];
   }