以下の文字列検索のプログラムで
foreach($ptr){
foreach($str){
print "<tr><td>{$ptr}</td><td>{$str}</td>";
$mt = preg_match("/". $ptr . "/", $str)
変数&ptrと$strだけの変数で指定したら
Parse error: syntax error, unexpected ')' in C:\xampp\htdocs\YPHPSample\9\Sample9-4.php on line 24エラーが出ました。
なぜ、変数$valueptrと$valuestrにわざわざ変換しないといけない理由は何ですか?
上記プログラムが単純で分かりやすいのですが?
宜しくお願いします。
<!DOCTYPE html>
<html>
<head>
<title>文字列検索</title>
</head>
<body>
<?php
$ptr = array("Apple", "GoodBye", "Thankyou") ;
$str = array("Hello", "GoodBye", "Thankyou");
?>
<table border="2">
<tr bgcolor="#AAAAAA">
<th>パターン</th>
<th>文字列</th>
<th>マッチ</th>
</tr>
<?php
foreach($ptr as $valueptr) {
foreach($str as $valuestr) {
print "<tr><td>{$valueptr}</td><td>{$valuestr}</td>";
$mt = preg_match("/". $valueptr . "/", $valuestr)
? "〇": "×";
print "<td>{$mt}</td></tr>\n";
}
}
?>
</table>
</body>
</html>
No.1ベストアンサー
- 回答日時:
$ptr、$strは配列だからこそforeach()を使ってると思いますが。
foreach()は配列の中身を1つずつ取り出す命令です。
取り出した値を得るのが$valueptr、$valuestrになります。
それが言語仕様です。
どの言語でも、ループ命令によって元の配列変数が変化する言語はありません。
それが実装およびパフォーマンスとして問題があるなら、配列以外の実装を検討すべきでしょう。
ご回答くださいましてありがとうございました。
>ループ命令によって元の配列変数が変化する言語はありません。<
の意味を知れべます。
参考書を再度読み直しています。
しばらくお待ちください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
file_existsでファイル名の部分...
-
foreachのなかで次のキーを参照...
-
$_SESSIONに二次元配列を使える...
-
PHPとMySQLの高速化
-
PHPのカッコ[ ]の使い方について
-
配列をループでたくさん宣言し...
-
PHPのループ数限界値について
-
String だと「 ByRef引数の型が...
-
Smarty の演算方法
-
【Smarty】foreach関数やsectio...
-
URLのサブドメインとドメイン部...
-
タブ区切りのデータでnullのデ...
-
関数(平均)
-
sortableで並べ替えてDBに保...
-
PHPでCSVの一部の行を編集したい
-
UTF-8のXMLがSJISのPHPで文字化け
-
PHPで変数名にハイフンを使うに...
-
多次元配列のオーソドックスな...
-
PHPでこのコード自体に意味は無...
-
マッチング処理(1:N)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
$_SESSIONに二次元配列を使える...
-
String だと「 ByRef引数の型が...
-
file_existsでファイル名の部分...
-
漢字のソートについて
-
PHPのカッコ[ ]の使い方について
-
ネストが深い時のforeachはどう...
-
foreachのなかで次のキーを参照...
-
チェックボックス複数選択 mys...
-
配列一致(要素順番は違うが内容...
-
PHPにてクラスを配列にすること...
-
postgresql関数をつかったレコ...
-
PHP 配列の添字に変数は使えない?
-
PHP掲示板で新着順に表示させた...
-
URLのサブドメインとドメイン部...
-
SESSION変数の2次元配列
-
PHPで配列をPOSTデータで送った...
-
$_POSTを一括してサニタイズし...
-
Smartyを使って、テーブルを表示
-
【Smarty】foreach関数やsectio...
おすすめ情報
これは!配列の基礎からじっくり読まないと理解できないみたいですね
今読んでいます。
お待ちください。
あっちこっちの配列類の参考書を見ています。
古い参考書の配列の説明に
配列とは「タンス」のようなもの
と書いてありました。
ちゃんとまだ読んではいないのですが、
$ptr と$strが、タンスとした場合、$valueptrと$aluestrはタンスの引き出し名となる!?
そんな感じかな・・・今いところそう考えた方がうまく説明できる。
多分そうでしょう・・・
解決とします。