ホームページ >バックエンド開発 >PHPチュートリアル >preg_match_all() の小さな問題がわかりません。解決してください。
preg_match_all("/d*/","5555", $images);
出力される $images 配列は次のとおりです: Array ( [0] => Array ( [0] => 5555 [1] => ) )
2 次元配列に空のインデックスがあるのはなぜですか!
一致するものがないようです
var_dump($images) { [0]=>
array(2) {
[0]=> ;
最後に一致する数字は 0 個だけです
d+ はなくなりました
このフォーラムがあれば、すべてをすぐに学ぶことができます!ありがとう!あなたが言ったことは正しいはずです、そしてそれは理にかなっています!
2階で正解! ! !
preg_match_all ("/d(.*)d/",'5dasdad66',$haha);
出力配列は次のとおりです: Array([0] => Array ([0] => 5dasdad66) [1] = > Array ( [0] => dasdad6 ))
preg_match_all ("/(.*)/",'5dasdad',$haha1);
なぜ「*」は 0 からそれ以上を意味するのかすべてのインデックスは空ですが、最初のインデックスは空ではありません。理由は何ですか!
var_dump($images);array(1) {
[0]=> string(4) "5555"
=> string(0) ""
}
}
あなたのルールは d* なので * * は 0 からそれ以上に一致することを意味するので、最後には 0 の数字のみに一致します
preg_match_all ("/d(.*)d/",'5dasdad66',$haha);
出力配列は次のとおりです: Array([0] => Array ([0] => 5dasdad66) [1] ] => ; Array ( [0] => dasdad6 ))
preg_match_all ("/(.*)/",'5dasdad',$haha1);
出力配列は次のとおりです: Array([0] => Array ( [0] => 5dasdad [1] => ) [1] => Array ( [0] => 5dasdad [1] => ))
なぜ「*」は 0 からそれ以上も意味するのか2 番目のインデックスは両方とも空のインデックスを持ち、最初のインデックスさえありません。理由は何ですか!
d(.*)d は少なくとも 1 つの数字と一致することを意味します。当然、スペースはありません。
(.*) は 0 文字以上の文字と一致することを意味します。
d(.*)d は少なくとも 1 つの数字と一致することを意味します。当然、スペースはありません。
(.*) は 0 文字以上の文字と一致することを意味します。
ありがとうございます!