将项目添加到关联数组

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

这不能代替数据的价值。 我怎么能它每个循环添加一个关联值,但? $file_data是一个具有dynamic大小的数据数组。

我想你想要$data[$category] = $question;

或者,如果你想要一个将类别映射到一系列问题的数组:

 $data = array(); foreach($file_data as $value) { list($category, $question) = explode('|', $value, 2); if(!isset($data[$category])) { $data[$category] = array(); } $data[$category][] = $question; } print_r($data); 

你可以简单地做到这一点

 $data += array($category => $question); 

如果你的运行在PHP 5.4以上

 $data += [$category => $question]; //here was incorrect bracket 

for循环之前:

 $data = array(); 

然后在你的循环中:

 $data[] = array($catagory => $question); 

我知道这是一个古老的问题,但你可以使用:

 array_push($data, array($category => $question); 

这会将array推到当前array的末尾。 或者,如果你只是试图添加单个值到你的数组的末尾,而不是更多的数组,那么你可以使用这个:

 array_push($data,$question);