2013-02-22 37 views
1

我有一個數組,看起來像這樣: 我需要以這種格式的數組供以後在腳本中使用。從一系列值中選擇一個特定的值數組php

//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'; 
    } 

這會將正確的值返回到內容變量中。 我感興趣的是從[Satisfied_Y]鍵創建一個字符串。

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

我知道如何使字符串,而不是如何只提取[Satisfied_Y]關鍵。 這讓我難過。

回答

1

我認爲它會工作。試試這個,

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

然後把它編成一個字符串。

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

我嘗試這個方法和我的一切是每個陣列元件中的第一個字母:A,1 1,6,2初始陣列是二維陣列。這可能會導致它? – user1882752 2013-02-22 08:05:00

+0

@ user1882752 ya。這可能是問題所在。 – 2013-02-22 08:06:51

+0

我已經改變了我獲取數據的方式,所以它是一個標準數組,這是行得通的,我會在我能夠接受的時候接受答案。 – user1882752 2013-02-22 08:08:53

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

您使用映射函數每Satisfied_Y列,拉出各$customerSatisfactionRatings項目,那麼你的結果結合在一起:

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

這裏假定$customerSatisfactionRatings每個項目是一個數組如你的問題所述。

參見:array_map()

+0

謝謝這也是一個優雅的solutuion。 – user1882752 2013-02-22 08:13:09

相關問題