2016-03-08 112 views
1

我是PHP新手我正在嘗試獲取foreach循環結果。 迴路我有PHP從foreach循環獲取結果

foreach($results as $result){ 
    $result = $result['names']; 
} 

在循環中是strings (John, Fred, Ann);

我試圖讓這個外部的循環,當我嘗試echo $結果我只有約翰,我該怎麼做才能得到所有三個名字?

我試圖創建一個像

$resultData= array(); 
foreach($results as $result){ 
    $resultData = $result['names']; 
} 
echo $resultData; 

這不起作用的數組,沒有任何人有什麼建議?

更新問題: 當我嘗試var_dump($resultData)我越來越

string(7) "John" string(7)"Fred" string(7)"Ann" 
+0

你試過'array_push()'? –

+0

你應該參考這個主題的更多手冊,這只是簡單的數組使用 – Ghost

+0

你可以嘗試爆炸在每個循環? –

回答

1

這裏太一個例子:

$employeeAges; 
$employeeAges["Lisa"] = "28"; 
$employeeAges["Martin"] = "16"; 
$employeeAges["Erik"] = "35"; 
$employeeAges["Victor"] = "46"; 
$employeeAges["Grace"] = "34"; 

foreach($employeeAges as $key => $value){ 
    echo "Name: $key, Age: $value <br />"; 
} 

輸出
名稱:麗莎,年齡:28
名稱:馬丁,年齡:16
名稱:埃裏克年齡:35
名稱:維克多,年齡:46
名稱:恩,年齡:34

,你可以像這樣做太:

的foreach語法:** $東西作爲$鍵 =>$值
對於$ employeeAges關聯數組我想指的是密鑰作爲$鍵的每個元素和值作爲$ value

$employeeAges; 
$employeeAges["Lisa"] = "28"; 
$employeeAges["Martin"] = "16"; 
$employeeAges["Erik"] = "35"; 
$employeeAges["Victor"] = "46"; 
$employeeAges["Grace"] = "34"; 

foreach($employeeAges as $name => $age){ 
    echo "Name: $name, Age: $age <br />"; 
} 

運算符「=>」表示鍵和值之間的關係。你可以想象,關鍵點=>值。在我們的示例中,我們將密鑰$ key和值$ value。但是,可能更容易想到它爲$ name$ age。在我們的例子下面這樣做,並注意輸出是如何相同的,因爲我們只改變了引用鍵和值的變量名稱。

你仍然得到相同的輸出。

輸出
名稱:莉莎,年齡:28
名稱:馬丁,年齡:16
名稱:埃裏克,年齡:35
名稱:維克多,年齡:46
名稱:格雷斯,年齡:34

+0

謝謝,這非常有幫助。 – user999

+0

讓我知道如果您有任何問題我可以幫你=) 關心 –

0

事情是這樣的:

foreach($results as $result){ 
$resultData[] = $result['your_value']; 
} 
print_r($resultData); 
echo $resultData[0]; 
+0

你能否通過var_dump($ results)獲得更新數組的問題? – Drudge

+0

是的你是對的,我想要得到這個print_r的結果。我試過$ results = print_r($ resultData,true);但是這不會返回任何結果,得到這個結果的最好方法是什麼?非常感謝您的幫助 – user999

+0

@ user2983797試試這個'var_dump($ results)' –

0

下面是正確的代碼。您還沒有宣佈我正確

$resultData= array(); 
$i = 0; 
foreach($results as $result){ 
     $resultData[$i] = $result['names']; 
     $i++ 
} 
//for single 
echo $resultData[0]; 

//for whole 
print_r($resultData); 
+0

這裏有什麼錯? –

+0

只是問,爲什麼你需要聲明'$ i',如果你使用foreach呢? – GaLaBoOnZ

+0

@GaLaBoOnZ,其實我把答案和問題聯繫起來。他使用變量'我',爲什麼我告訴他使用$ i的正確格式。沒有其他的。有很多其他方式可用,但用戶應該明白,他做了什麼錯誤。 –

0

試圖使用爆炸在foreach循環

foreach($results as $result) 
{ 
     $result = explode(",",$result['names']); 
} 
print_r($result); 

如果您在$ result中有一個名稱,然後用破滅吧「」和爆炸出來側

 foreach($results as $result) 
    { 
      $val = implode(",",$result['names']); 
    } 
    $value = explode(","$val); 
    print_r($value[0]); 
+0

如果您在$ result中有signle名稱,那麼使用它的implode並將它爆炸出去 –

0

嘗試使用此代碼

$resultData= array();` 
foreach($results as $key => $result){ 
     $resultData[$key] = $result['names']; 
} 
    echo "<pre>", print_r($resultData, true); 
0

是的,我得到它的工作,這是代碼。謝謝大家。

 $results;   
     $results[0]; 
     $results[1]; 
     $results[2]; 
     $t = array(); 
     foreach($results as $key => $value) 
     {   
      $t[]= $value['name']; 
     } 
     $a = "'".implode("','", $t)."'"; 
     echo $a;