#php #arrays #merge
#php #массивы #слияние
Вопрос:
Мне нужна информация для переноса из базы данных в массивы, а затем создания одного массива. Итак, я написал следующий код:
$sql0 = "SELECT * FROM ".$working_table." ORDER by id ASC";
$result = mysqli_query($conn, $sql0);
$num_rows = mysqli_num_rows($result);
while($row = mysqli_fetch_array($result)){
${"emails_arr$row[id]"} = explode(",",$row['station_email']);
echo print_r(${"emails_arr$row[id]"})."<br>";
}
$sql0 = "SELECT * FROM ".$working_table." ORDER by id ASC";
$result = mysqli_query($conn, $sql0);
$num_rows = mysqli_num_rows($result);
while($row = mysqli_fetch_array($result)){
$result_array = array_merge(${"emails_arr$row[id]"});
}
echo print_r($result_array);
сложность в том, что я не знаю, как объединить массивы в один массив из цикла while: $result_array = array_merge(${"emails_arr$row[id]"});
отображается только последний массив, остальные массивы переписываются.
Спасибо, ребята!
Комментарии:
1.
$result_array = array_merge($result_array, ${"emails_arr$row[id]"});
Но вам нужно позаботиться о том, чтобы не перезаписывать существующие ключи…2. Попробуйте использовать это
$oldArray[]= $oldArray;
Ответ №1:
Измените код цикла while на этот
while($row = mysqli_fetch_array($result)){
$result_array[] = array_merge(${"emails_arr$row[id]"});
}
Обратите внимание на квадратные скобки.
Комментарии:
1. это должно сработать, но это создает многомерный массив, мне нужно просто объединить все массивы, сгенерированные loopname, в один 🙂