現在、私は多数のphpファイルを持っており、それぞれに次の形式の配列ステートメントがあります。
$array1 = array ( array ( 'Husband' => 'bob',
'Wife' => 'ann' ),
array ( 'Husband' => 'fred',
'Wife' => 'donna' ),
array ( 'Husband' => 'john',
'Wife' => 'mary' ) );
もちろん、これはprint_r ($array1)
出力(A)から返されます。
Array ( [0] => Array (
[Husband] => bob [Wife] => ann )
[1] => Array (
[Husband] => fred [Wife] => donna )
[2] => Array ( [Husband] => john [Wife] => mary ) )
別のクラスファイルで、次のようなステートメントを使用して$array1データにアクセスします。
for ($col = 0; $col < sizeof($array1); $col++)
{
echo $array[$col]['Wife']."<br />";
}
多くのものがデータベースであるという理論に基づいて、複数のphp配列ファイル配列内のデータをMySQLデータベースに移行し、クラスファイルからMySQLデータにアクセスしたいと考えています。そこで、MySQLで次のように設定しました。
CREATE TABLE IF NOT EXISTS `arrays` (
`id` int(5) NOT NULL auto_increment,
`husband` varchar(255) collate utf8_unicode_ci NOT NULL,
`wife` varchar(255) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
INSERT INTO `arrays` (`id`, `husband`, `wife`) VALUES
(1, 'bob', 'ann'),
(2, 'fred', 'donna'),
(3, 'john', 'mary');
次に、PHPからこのMySQLデータベースにアクセスします。
$sql = "SELECT * FROM `database`.`arrays`";
$link = mysql_connect ('localhost', 'username', 'password' ) or die(mysql_error());
mysql_select_db ('database', $link) or die(mysql_error());
$result = mysql_query ($sql) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$array2 = array ( 'Husband' => $row['husband'],
'Wife' => $row['wife'] );
print_r ($array2);
}
これにより、次のような出力(B)が生成されます。
Array ( [Husband] => bob [Wife] => ann )
Array ( [Husband] => fred [Wife] => donna )
Array ( [Husband] => john [Wife] => mary )
私の質問は、mysql_fetch_array whileループのphp配列を作成して、出力Bが出力Aのようになるようにする方法です$array[$col]['Wife']
。MySQLデータベースからの方法でクラスファイルのデータに引き続きアクセスできるようにしたいです。