2014-02-06 194 views
1
$item= "stackoverflow"; 
$price = "30.00"; 

$cs1_array = array(); 
$cs1_array['item'] = $item; 
$cs1_array['price'] = $price; 

    if($cs1_array > 0){ 
      echo "<table>"; 
      foreach ($cs1_array as $item){ 
       echo "<tr>"; 
       echo "<td>{$item['item']}</td><td>{$item['price']}</td>"; 
       echo "</tr>"; 
      } 
      echo "</table>"; 
     } 

這將只輸出數組的第一個字母表。例如,它將只顯示stackoverflow的字母s。我想顯示整個計算器字,怎麼做?PHP foreach循環只顯示數組的第一個字母

+1

'如果($ cs_array> 0)'不作太多爆棚感。你究竟想在這裏檢查什麼?如果你想檢查數組是否有任何成員,可以使用if(count($ cs_array)> 0)',如果你想檢查數組是否設置爲不等於「false」的任何東西(數組, 'false','null',空字符串,'0'),使用'if($ cs1_array)'。 –

+0

已注意。感謝您的建議。 – user3277691

回答

1

你不需要的循環,如果你只有一個item和一個price陣列中所有:

$item= "stackoverflow"; 
$price = "30.00"; 

$cs1_array = array(); 
$cs1_array['item'] = $item; 
$cs1_array['price'] = $price; 

    if(sizeof($cs1_array) > 0){ 
      echo "<table>"; 
      echo "<tr>"; 
      echo "<td>{$cs1_array['item']}</td><td>{$cs1_array['price']}</td>"; 
      echo "</tr>"; 
      echo "</table>"; 
    } 

不過,如果你想擁有的itemprice多個實例,你需要數組的數組:

$cs1_array = array(); 
$cs1_array[] = array(
    "item" => "stackoverflow", 
    "price" => "30.00" 
); 
$cs1_array[] = array(
    "item" => "superuser", 
    "price" => "40.00" 
); 
$cs1_array[] = array(
    "item" => "serverfault", 
    "price" => "20.00" 
); 
// and so on 

作爲更簡潔替代上面的代碼,可以創建在陣列並在單個語句中使用值填充:

$cs1_array = array(
    array(
     "item" => "stackoverflow", 
     "price" => "30.00" 
    ), 
    array(
     "item" => "superuser", 
     "price" => "40.00" 
    ), 
    array(
     "item" => "serverfault", 
     "price" => "20.00" 
    ), 
    // and so on 
); 

然後foreach循環將正常工作:

if(sizeof($cs1_array) > 0){ 
    echo "<table>"; 
     foreach($cs1_array as $item){ 
     echo "<tr>"; 
     echo "<td>{$item['item']}</td><td>{$item['price']}</td>"; 
     echo "</tr>"; 
     } 
    echo "</table>"; 
} 
+1

嗯,他可能想要顯示多個項目。 – TimWolla

+1

親愛的downvoter,我可以知道我的回答有什麼問題嗎? –

+0

我已經向你解釋了你的答案有什麼問題,現在你修復了它,我將刪除downvote。 – TimWolla

2

你做創建一個單級陣列,而你需要的是一個多維數組(即在一個數組的數組):

$cs1_array = array(); 
$cs1_array[] = array(
    'item' => $item, 
    'price' => $price 
); 

比較:

// wrong 
array(2) { 
    ["item"]=> 
    string(13) "stackoverflow" 
    ["price"]=> 
    string(5) "30.00" 
} 

// right 
array(1) { 
    [0]=> 
    array(2) { 
    ["item"]=> 
    string(13) "stackoverflow" 
    ["price"]=> 
    string(5) "30.00" 
    } 
} 
+1

我明白了,我明白了。多謝你們。 – user3277691

相關問題