Я пытаюсь создать ассоциативный массив из результатов запросов MySQL. Я хотел бы потянуть два столбца, один содержит имена, другой – числа. То, что я намереваюсь создать, это что-то вроде:
$array = array('maggie'=> 68, 'Joseph' => 21, 'ireen'=> 64); $dbc = mysqli_connect('localhost', 'root', 'password', 'newbie'); $query = "SELECT fname, eng_end FROM members_records"; $result = mysqli_query($dbc, $query); while ($array = mysqli_fetch_assoc($result)) { $data_array[] = $array[]; }
Я не могу создать что-то разумное между фигурными фигурными скобками, которые могут создавать массив с данными из столбца имени в виде ключей и данных из столбца чисел в качестве значений. Каждое усилие в фигурных скобках было приятно вознаграждено длинными и сердитыми ошибками разбора PHP.
Как я буду исходить оттуда, или мой фонд слишком ошибочен, чтобы что-то привести? Насколько наилучшим образом моя цель может быть выполнена (с минимальным кодом, если это возможно)?
Вы, вероятно, хотите что-то вроде этого:
$dbc = mysqli_connect('localhost', 'root', 'password', 'newbie'); $query = "SELECT fname, eng_end FROM members_records"; $result = mysqli_query($dbc, $query); $data_array = array(); while ($row = mysqli_fetch_assoc($result)) { $data_array[$row['name']] = $row['value']; }
Замените имена фактических столбцов на «имя» и «значение».
Ассоциативный массив создается следующим образом:
$a = array('foo' => 'bar', 'color' => 'green');
Вы можете добавлять ключи после своего создания следующим образом:
$a['someotherkey'] = 'value';