PHP üçlü operatör çalışmıyor

4 Cevap php

Aşağıdaki kodu neden olmaz / else kısmı çalışır ama değeri gösteren değil, herkes anlamaya eğer o değerini, üçlü dışarı yankı gerekir mevcut anahtar ise, bir dizi değeri alır?

$signup_errors['captcha'] = 'error-class';

echo(array_key_exists('captcha', $signup_errors)) ? $signup_errors['catcha'] : 'false';

Ayrıca ben bir anahtar yoksa yanlış, ben, bir çıkış gerek yoktur ben sadece yanlış kelimeyi silmek gerekir ya kodu yapmak için başka bir şey var echo yalnızca 1 değeri göstermek nerede?

4 Cevap

Ben yanlış yerde bir parantez var düşünüyorum:

echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');

Ayrıca, 'captcha' sizin yazım denetimi.

Eğer bir yazım hatası var. Bu:

? $signup_errors['catcha'] :

Bu olmalıdır:

? $signup_errors['captcha'] :

catcha -> CAPTCHA

Ne demek düşünüyorum:

echo(array_key_exists('captcha', $signup_errors) ? $signup_errors['captcha'] : 'false');

Anahtar yoksa zaman hiçbir çıktı istiyorsanız Veya, 'if' ifadesi değil, üçlü operatörü kullanın:

if (array_key_exists('captcha', $signup_errors)) { echo $signup_errors['captcha']; }

Sen catcha 'olarak' captcha 'yanlış yazmış.