//go through each question
foreach($file_data as $value) {
//separate the string by pipes and place in variables
list($category, $question) = explode('|', $value);
//place in assoc array
$data = array($category => $question);
print_r($data);
}
Ini tidak berfungsi karena menggantikan nilai data. Bagaimana saya bisa menambahkan nilai asosiatif setiap loop? $file_data
adalah larik data yang memiliki ukuran dinamis.
Anda cukup melakukan ini
$data += array($category => $question);
Jika Anda menjalankan php 5.4+
$data += [$category => $question];
sumber
before for loop:
$data = array();
lalu di loop Anda:
$data[] = array($catagory => $question);
sumber
$data=[];
$data[] = [$category => $question];
$res = array(); $res[] = array('foo' => $bar); $foo = $res['foo'];
gagal dengan indeks Undefined: foo in .. , tetapi tanda plus di bawah ini berfungsi.Saya tahu ini adalah pertanyaan lama tetapi Anda dapat menggunakan:
array_push($data, array($category => $question));
Ini akan mendorong
array
ke ujung arus Andaarray
. Atau jika Anda hanya mencoba menambahkan nilai tunggal ke akhir array Anda, tidak lebih banyak array maka Anda dapat menggunakan ini:array_push($data,$question);
sumber
Bagi siapa saja yang juga perlu menambahkan array asosiatif 2d, Anda juga dapat menggunakan jawaban yang diberikan di atas, dan menggunakan kode seperti ini
$data[$category]["test"] = $question
Anda kemudian dapat memanggilnya (untuk menguji hasilnya dengan:
echo $data[$category]["test"];
yang seharusnya mencetak $ pertanyaan
sumber