実現したいこと
windows10 PC に XAMMPをインストール
MySQLとして MariaDB をインストール
C:\xampp\htdocs\center-kit\html に PHPプログラムを保存
以下のような内容にて 2次元配列データの内、1つのデータのみ取得したい
発生している問題・分からないこと
何故か取得した 変数(配列データ)の末尾に ¥ が付いてくる
2次元配列の場所は合っているが、中身が引き出せず困っています。
該当のソースコード
PHP
12次元配列データは以下の通り $arr_machine に格納されてている 2 3$arr_machine = Array ( [0] => Array ( [0] => 1 [no] => 1 [1] => 115 [mid] => 115 [2] => NC-46 [name] => NC-46 [3] => [gid] => [4] => 192.168.1.115 [ip] => 192.168.1.115 ) [1] => Array ( [0] => 2 [no] => 2 [1] => 116 [mid] => 116 [2] => NC-49 [name] => NC-49 [3] => [gid] => [4] => 192.168.1.116 [ip] => 192.168.1.116 ) [2] => Array ( [0] => 3 [no] => 3 [1] => 117 [mid] => 117 [2] => NC-34 [name] => NC-34 [3] => [gid] => [4] => 192.168.1.117 [ip] => 192.168.1.117 ) [3] => Array ( [0] => 4 [no] => 4 [1] => 118 [mid] => 118 [2] => NC-83 [name] => NC-83 [3] => [gid] => [4] => 192.168.1.118 [ip] => 192.168.1.118 ) ) 4 5ラジオボタンで [mid] を選択し、データベースから選択した mid と合致するデータを引き出したい 6 7<?php 8 for( $i = 0; $i < count($arr_machine); $i++ ){ 9 // 2025.01.09 for debug ////////////////////// 10 //print (count($arr_machine)); 11 //print "<br/>"; 12 //print ($machine); 13 //print "<br/>"; 14 //print ($i); 15 //print "<br/>"; 16 ///////////////////////////////////////////// 17 18 // 2025.01.09 SQLite と異なり、項目行から fetch してしまうので、 19 // 先頭の 0行目を無視し 1行目から読込んだ 20 if( $machine == "" && $i == 0){ 21 $machine_check = 'checked="checked"'; 22 23 // SQLite と異なり、項目行から fetch してしまうので、$arr_machine[$i][何番目の列]で指定した 24 }elseif($arr_machine[$i][1] == $machine){ 25 $machine_check = 'checked="checked"'; 26 27 // 2025.01.29 for debug ///////////////////////////////// 28 print 'arr_machine[i][1]_81 = '; 29 print $arr_machine[$i][1]; 30 print '<br/>'; 31 ///////////////////////////////////////////////////// 32 33 }else{ 34 $machine_check = ''; 35 } 36 37 // 2024.02.21 mid : name 表示に変更 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 38 // 2025.01.09 PHPプログラミングの教科書 P175参考に変更 39 // SQLite と異なり、項目行から fetch してしまうので、$arr_machine[$i][何番目の列]で指定した 40 print("<input type=\"radio\" name=\"machine\" value=\$arr_machine[$i][1]\ $machine_check>{$arr_machine[$i][1]} : {$arr_machine[$i][2]}</input>"); 41 print("<br/>"); 42 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 43 } 44 45?>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
SQLite 使用していた時には動いていたが、mariaDB に合わせて各部の変更を行い、動くようになった。
radio ボタンで選択した データーは $arr_machine[5][1] として選択できたようだが、
何故か末尾に ¥ がついて $arr_machine[5][1] ¥ と出力されるので
$arr_machine[$i][1] == $machine
とならず、その後のプログラムが動かない。
XAMMP + SQLite では動いているが、他にどこを変更すれば良いか教えて頂きたい。
漠然とした質問で申し訳ありませんが、宜しくお願い致します。
補足
特になし
回答1件
あなたの回答
tips
プレビュー