php関数を使って参照ページを検索し、それらの用語の存在に基づいて関数を実行しようとしています。多次元配列のストリップ
基本コードを作成することは問題ではありませんでしたが、かなり多くの単語とオプションのアクションを使用すると、単語/機能のグループごとに個別の行を使用してスクリプトがかなり長くなっています。基本的なコードの概念は以下の通りです。ストライポス関数は優先順位の逆順になっていますので、2つ以上の項が出現した場合、最も重要なものが最後になり、前のものを乗り越えます。
(後でスクリプトを終了する方法があると思います最初の条件が満たされていますが、終了時の実験が失敗したので、逆順シーケンスを使用しました)。
group1 = array("word1","word2","word3","word4","word5");
group2 = array("word6","word7","word8");
group3 ... etc
foreach($group1 as $groupa) { if(stripos($string, $groupa) !== false) { do something A; } }
foreach($group2 as $groupb) { if(stripos($string, $groupb) !== false) { do something B; } }
foreach ... etc
2次元配列または2つの配列を使用する方法がありますか?単語とアクションの2つの配列がありますか?すなわち:UPDATED
words = array("word1","word2","word3","word4","word5","word6","word7","word8")
actions = array("something A","something A","something A","something A","something A","something B","something B","something B")
foreach($words as $word) { if(stripos($string, $word) !== false) { do actions; } }
は...... ......フィリップスの提案に触発
、我々は多次元配列になってしまったし、その「行」を通じて段階。コード内で書くのではなく、MySQLから配列をフェッチする作業をしています。$terms = array(
array("word" => "word1",
"cat" => "dstn",
"value" => "XXXX"
),
..etc
..etc
);
foreach ($terms as $i => $row)
{ if(stripos($refstring3, $row['word']) !== false) { $$row['cat'] = $row['value']; } }
...... UPDATED ......
それはwhile文ではなく、foreachのに続いて、簡単なMySQLのクエリに進化してきました。 Stackoverflowのフィードバックやさまざまな投稿のおかげで、魅力のように機能します。
ありがとうございます。
この場所は学習や理解に最適です。投稿は物事に直接飛びつき、関連するが適用外のチュートリアルを多数検索する必要はありません。
exitがループとスクリプト全体を終了していない可能性があります。 – ajreal
私は続行を追加しようとしました。ブレーク;戻る;それでもforeach()を実行します。 – Tom