2012-07-04 2 views
1

У меня есть таблица, которая содержитСоздайте массив из запроса mysql. Столбец2 в качестве ключевого столбца 1 в качестве значения

column 1 = state column 2 = link 
Alabama    auburn.alabama.com 
Alabama    bham.alabama.com 
Alabama    dothan.alabama.com 

мне нужно, чтобы захватить из моей таблицы базы данных и поместить в массив, что я могу array_walk() через. они должны быть доступны, как этот массив.

$arraytable = array(
"auburn.alabama.com"=>"Alabama", 
"bham.alabama.com"=>"Alabama", 
"dothan.alabama.com"=>"Alabama", 
); 

Я пробовал все, но не уверен, как это сделать, используя php для печати массива вроде этого. Любая помощь приветствуется.

ответ

2

Примечание Ваше название вопроса не соответствует вашему примеру. В заголовке вы запрашиваете столбец 1 в качестве ключа, но в вашем примере в качестве ключа используется столбец 2. Я использовал колонку 2 здесь ...

Неясно, какой MySQL API вы используете для извлечения, но в зависимости от того, что это такое, используйте метод ассоциативной выборки и создайте новые ключи массива, используя шаблон $arraytable[$newkey] = $newvalue. Этот пример был бы в объектно-ориентированных MySQLi:

$arraytable = array(); 

while($row = $result->fetch_assoc()) { 
    // Create a new array key with the 'link' and assign the 'state' 
    $arraytable[$row['link']] = $row['state']; 
} 
+0

Отличный ответ! прекрасно работает. просто собирался опубликовать мое решение и увидел, что этот ответ намного проще. Это самый большой ресурс вокруг. Спасибо за быстрый ответ. – d3vo

0

Вы можете использовать array_column для этого, так как PHP5.5 (http://php.net/array_column)

Описание

массив array_column (массив $ массива, смешанный $ column_key [, mixed $ index_key = null])

array_column() возвращает значения из одного столбца массива, идентифицированного с помощью column_key. При желании вы можете указать index_key для индексации значений в возвращаемом массиве значениями из столбца index_key во входном массиве.

Для PHP 5.5 <: https://github.com/ramsey/array_column/blob/master/src/array_column.php

+0

примечание: я понимаю, что это старый вопрос, но кто-то вставил ссылку в IRC как перекрестную ссылку на их вопрос. Поэтому я решил, что было бы полезно ссылаться на новую функцию здесь, для будущих пользователей. – AcidReign

Смежные вопросы