で文章中の単語を見つけますこのPHPは "marieまたはjoshは配列ではない"と表示し、marieは配列です(またはそうでなければなりません)。 どうしたのですか?私はこの文を持っているPHP
答えて
array_intersect
とarray_map
関数を使用して溶液:あなたが誤って最初のパラメータをチェックするために、アレイ内の、in_array()を使用
$newalt = "My name is Marie";
$words = ["marie", "josh"];
$url_string = explode(" ", $newalt);
if (empty(array_intersect($words, array_map("strtolower", $url_string)))) {
echo "marie or josh are not in array";
}
は2番目のパラメータです。
in_array(strtolower($words[0]), array_map('strtolower', $url_string)) && in_array(strtolower($words[1]), array_map('strtolower', $url_string))
downvoteの理由??? –
あなたには2のエラーがあります。まず、in_array()
では大文字と小文字が区別されます。乾草をすべて小文字にする必要があります。第二に、in_array()
は針として配列を受け入れません。
$newalt="My name is Marie";
$words = array("marie", "josh");
$url_string = explode(" ", strtolower($newalt));
if(count(array_diff($words, $url_string) == count($words)){
echo "marie or josh are not in array";
}
in_array関数の最初のパラメータが配列である:これを克服するために、あなたはarray_diff()
のようなものを使用することができます。あなたの$ words配列は配列ではなく文字列で埋められます。
$words = array("marie", "josh");
$urlStrings = explode(" ", $newalt);
foreach ($urlStrings as $urlString) {
if(!in_array($urlString, $words)){
echo "marie or josh are not in array";
}
}
とにかく 'foreach'ループを使うつもりなら、' strpos() 'は' in_array() 'よりもスケールが良くなります。例えば'if(strpos($ newalt、$ word)=== false)' – GentlemanMax
- 1. 私はこの文字列を持っているPHP
- 2. は、私は、文字列のリンクにこれを持ってPHP
- 3. PHPのコンストラクタは、私はこのクラスを持っている
- 4. は、私はこのような文が持っている文
- 5. - 私はモンゴでこの文書を持っているのMongoDB/PHP
- 6. 私はこれらの2つの文字列を持っているPHP
- 7. PHPグループ/私はこの配列を持っている3文字の国コード
- 8. 送信PHPは、私は次のことを持っている
- 9. は、私はこのコードを持っているPHP
- 10. 私は次の文字列を持っているPHP
- 11. 私はこのPHPスクリプトを持って、このPHPコード
- 12. PHP /データベース:私はこのようなSQL文を持っているコンテンツ
- 13. 私は、このリンクを持っているPHPのにpreg_replace
- 14. 私は、配列のこのタイプを持っているPHP
- 15. 私はこのフォーム内のテキストを持っているPHP
- 16. PHPの私はこのコードを持っている配列
- 17. 私はこの小さな機能を持っているPHP
- 18. 私はこのような機能を持っているPHP
- 19. PHP - 私はこのコードを持っている連想配列
- 20. RewriteURL質問 - 私は今、このセットアップを持っているPHP
- 21. 計算が、私はこのコードを持っているPHP
- 22. 現在、私はこのコードを持っているPHP
- 23. PostgreSQLは、私はこのクエリを持っている補助文
- 24. キャスティングタイプは、私はこの機能を持っている構文
- 25. は、私はこのコードを持っている文字列
- 26. は、私はこの機能を持っている文字列
- 27. PHP:私は文字列を持っているワイルドカード
- 28. 私は、この形式の文字列を持っている
- 29. MySQLのクエリは、私はPHPのこの作品を持っているPHPファイル
- 30. PHP - 私はこのクラスの持っている
'in_array'は大文字と小文字が区別されます:
たぶん、このような何かを試してみてください。 「マリー」は「マリー」と同じではありません。 – cteski
@cteskiもし私が 'M'arieを置いてもそれはうまくいきません –