<?php
$string = "hey";
foreach(range('a','z') as $i)
{
if($string == '$i')
{
echo $i;
}
}
?>
Neden bu çalışmıyor? lütfen söyle.
Siz kodunuzu iki sorun var.
İlk olarak, tek-tırnak dizeleri ('
) farklı çift tırnak dize daha davranmaya ("
). Tek-tırnak dizeleri kullanırken, yorumlanmaz ve değişken sarf edilmez (\'
ve \\
dışında) dizileri kaçış. Bu (tırnak çıkarmadan, ya da çift tırnak bunları değiştirme) gibi tespit edilebilir:
$string = 'hey';
foreach(range('a','z') as $i) {
if($string == $i) {
echo $i;
}
}
'hey'
alfabenin tek bir harf eşit asla İkinci olarak, durumunuz TRUE
olarak değerlendirmek asla. Harf kelime ise değerlendirmek için kullanabilirsiniz strpos()
a>:
$string = 'hey';
foreach(range('a','z') as $i) {
if(strpos($string, $i) !== FALSE) {
echo $i;
}
}
PHP Documentation:
strpos()
PHP Documentation: Converting to boolean
PHP Documentation: Comparison Operators
Test yerine == strspn() fonksiyonu üzerinde bir göz var