簡體   English   中英

在PHP中使用for循環構建關聯數組

[英]Building an associative array using for loop in php

我正在嘗試使用php創建關聯數組。 我想要的輸出是

Array
(
     [key] => fl_0_sq
),
Array
(
     [key] => fl_1_sq
)

該代碼是

  $max_val = 2;  
  for($i=0; $i<$max_val; $i++)
  {
        $flr_arr .= "array('key' => 'fl_".$i."_sq'),";      
  }
  print_r($flr_arr);

輸出是

array('key' => 'fl_0_sq'),array('key' => 'fl_1_sq'),

現在的問題是它已變成字符串而不是數組。 是否有可能創建類似於所需輸出的數組結構。 非常感謝您的幫助。

您可以這樣做:

<?php

$flr_arr = [];

$max_val = 2;
for ($i = 0; $i < $max_val; $i++) {
  $flr_arr[][key] = 'fl_' . $i . '_sq';
}

$output = "<pre>";

foreach ($flr_arr as $i => $flr_arr_item) {
  $output .= print_r($flr_arr_item, true);
  if($i < count($flr_arr)-1){
    $output = substr($output, 0, -1) . ",\n";
  }
}
$output .= "</pre>";

echo $output;

輸出:

Array
(
    [key] => fl_0_sq
),
Array
(
    [key] => fl_1_sq
)

我不確定您要做什么,但是您的輸出可以通過以下方式完成:

  $max_val = 2;
  for($i=0; $i<$max_val; $i++)
  {
        $flr_arr = [];
        $flr_arr['key'] = 'fl_".$i."_sq';
        print_r($flr_arr);
  }

您正在聲明一個字符串並將其串聯。 您要向數組添加元素。 您也不能創建多個具有相同名稱的數組。 您可以做的是2D數組:

$flr_arr[] = array("key"=>"fl_$i_sq");

請注意,array()周圍沒有引號。 “ []”語法在數組的末尾添加了一個新元素。 輸出將是-

array(array('key' => 'fl_0_sq'),array('key' => 'fl_1_sq'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM