4

を含むテーブルがあります

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を使用してこのような配列を印刷する方法がわかりません。どんな助けでも大歓迎です。

4

3 に答える 3

3

注:質問のタイトルは例と矛盾しています。タイトルでは、列 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'];
}
于 2012-07-04T22:51:48.243 に答える
1

PHP5.5 ( http://php.net/array_column )以降では、これに array_column を使用できます。

説明

配列 array_column (配列 $array , 混合 $column_key [, 混合 $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

于 2015-02-06T01:59:31.883 に答える