Doğru Cevap
-
Dikkatsiz olunduğu takdirde
if( $var = 'value' )
ile
if( $var == 'value' )
kullanımı karıştırılabilir ve php burada hata da vermez. Sanırım bundan kaçınmak için kullanılmaması önerilmiştir.
Cevaplar
-
Çünkü önemli olan kısa kod yazmak değil, temiz, standart kod yazmak, kurallara uymak. if demek içinde birşeyleri test ediyosun demek if'in içinde değişken assign etmenin hiçbir mantığı yok...
Kafa karıştırmaya gerek yok bir başkası baksa tek eşittir mi var çift eşittir mi var ilk bakışta anlamayabilir. -
Walla bence if'in vs.nin içinde değişkenlere değer atamak o kadar da sorun değil:
if ($id = $_GET['id']) {
ya da
while($row = mysql_fetch_assoc($res)) {
en çok kullanılan örnekler.
Ha tabii okurken atlama ihtimali var ya da yazarken = ile == karışabilir eyvallah ama ona da dikkat edecen.
Bence asıl yanlış olan çift eşittir ile tek eşittir'i aynı if'in içinde kullanmak, kodu okumayı acayip zorlaştırıyor.
Şöyle olsa daha iyi olur bence:
if(isset($_POST)) { $post = $_POST; print_r($post); }
-
PHP sitesinde şöyle der: koşullarda atama yapmak istiyorsan şu şekilde kullan
if (isset($_POST) && false !== ($post = $_POST)) { print_r ($post); }
while kullanımı da şu şekilde
while (false !== ($row = mysql_fetch_assoc($query))) { print_r($row); }
-
Soru sorulalı baya bir zaman geçmiş ama arayıpta yeni görenler için bu sorunun alternatif cevabı şöyledir...
$post = isset($_POST) ? $_POST ? print_r($_POST) : false : false;
Kolay gelsin :)