Ajaxを想定したうえで、phpで出力する2次元配列をJSONの配列に変換する過程で、下記コードの7行目に改善の余地がないかどうかご教示ください。
具体的には$fruits[] = array($row[0], $row[1]);を添え字に$iなどの変数を渡して簡潔なコードにできないかどうか思案しているところですが、foreach内で、どう渡していいかよくわかりません。for ($i=0; $i<count($row); $i++) くらいしか思い浮かびませんが入れ子のなかでどうやって反映させるかよく分かりません。何卒よろしくお願い致します。
// DB準備
sqlite3 test.db
->sqlite3
create table fruits (name text, price integer);
insert into fruits values ("apple", 100);
insert into fruits values ("banana", 200);
// 実行結果
// php2次元連想配列
array(2) { [0]=> array(2) { [0]=> string(5) "apple" [1]=> string(3) "100" } [1]=> array(2) { [0]=> string(6) "banana" [1]=> string(3) "200" } }
// 2次元JSON
[["apple","100"],["banana","200"]]
lang
1 1 <?php 2 2 $conn = new PDO("sqlite:test.db"); 3 3 $stmt = $conn->query("SELECT * FROM fruits"); 4 4 5 5 6 6 foreach ($stmt as $row) { 7 7 $fruits[] = array($row[0], $row[1]); 8 8 } 9 9 10 10 /* 失敗例 11 11 foreach ($stmt as $rows => $row) { 12 12 $fruits[] = array($row); 13 13 } 14 14 */ 15 15 16 16 var_dump($fruits); 17 17 $json = json_encode($fruits); 18 18 echo $json; 19 19 $conn = null; 20 20 ?>
centos6.6
php --version 5.4.36
sqlite3 --version 3.6.20
ブラウザ chrome
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/15 02:47