Pentiums Posted November 30, 2008 Report Share Posted November 30, 2008 Vai abi ir vienādi? Un kuru labāk lietot? $var != 'vērtība' VAI !$var == 'vērtība' Link to comment Share on other sites More sharing options...
marcis Posted November 30, 2008 Report Share Posted November 30, 2008 Abi ir vienādi. Es esmu pieradis lietot pirmo variantu, bet ir gadījumi, kad labāk lietot otro. Link to comment Share on other sites More sharing options...
Pentiums Posted November 30, 2008 Author Report Share Posted November 30, 2008 esmu daudz redzējis abus variantus, tamdēļ jautāju, bet pats esmu pieradis lietot pirmo variantu :) Link to comment Share on other sites More sharing options...
Endijs Posted November 30, 2008 Report Share Posted November 30, 2008 Tie kas saka, ka abi vienādi - pamēģiniet: $var = 1; $var2 = -1; var_dump($var != $var2); // true var_dump(!$var == $var2); // false Link to comment Share on other sites More sharing options...
bubu Posted November 30, 2008 Report Share Posted November 30, 2008 Ja $var ir booleans un 'vērtība' ir true vai false, tad abi varianti ir vienmēr vienādi. Citos gadījumos tev var gadīties visādi "brīnumi". Link to comment Share on other sites More sharing options...
marcis Posted November 30, 2008 Report Share Posted November 30, 2008 Squad... $var = vērtība $var == 'vērtība': true $var != 'vērtība': false // pievērs uzmanību šim !($var == 'vērtība'): false // un šim Link to comment Share on other sites More sharing options...
black Posted November 30, 2008 Report Share Posted November 30, 2008 (edited) Es drīzāk ieteiktu uzmanīties ar if($a != $b) un if($a !== $b). Man dažreiz gadās nejauši sajaukt, kur kuru jāizmanto. Edited November 30, 2008 by black Link to comment Share on other sites More sharing options...
bubu Posted November 30, 2008 Report Share Posted November 30, 2008 marcis, pievērs uzmanību šim: $var = nevērtība $var == 'vērtība': false !$var == 'vērtība': false $var != 'vērtība': true Un arī arī Endija teiktajam. Link to comment Share on other sites More sharing options...
marcis Posted December 1, 2008 Report Share Posted December 1, 2008 (edited) Manuprāt te runa bija tieši par $var1!=$var2 un !($var1==$var2) Šie vienmēr būs vienādi. EDIT: Varbūt nepareizi sapratu pašu jautājumu un Pentiums tiešām bija domājis tāpat kā rakstijis. Edited December 1, 2008 by marcis Link to comment Share on other sites More sharing options...
Java Posted December 1, 2008 Report Share Posted December 1, 2008 (edited) Redziet, problēma ir tāda, ka php nav konkrēti izdalīti mainīgo tipi... Tāpēc sekojiet tiem līdzi paši, kas cits atliek... Javā tai ziņā viss ir kārtībā - String ir String un nekas cits kā string. Tiesa gan - nedefinēti mainīgie Java pieņem vērtību null, kas patiesībā nozīmē - vērtības neesamība, bet tas nav false! :P php viss ir ļoti vienkārši: Loģisko false (kas attiecīgi izpildīsies tā IFos utt.), atgriezīs, piemēram, šādi mainīgie: $var1 = ""; $var2 = false; $var3 = null; $var4 = 0; $var5 = "0"; // neesmu gan drošs // utt. Es, protams, no galvas šo lietu nezinu, būtu jau vispār labi, ja uztaisītu kāds tādu sarakstiņu - kas var atgriezt false (un attiecīgi viss pārējais atgriezīs true)! :) Edited December 1, 2008 by Java Link to comment Share on other sites More sharing options...
PheliX Posted December 1, 2008 Report Share Posted December 1, 2008 Es, protams, no galvas šo lietu nezinu, būtu jau vispār labi, ja uztaisītu kāds tādu sarakstiņu - kas var atgriezt false (un attiecīgi viss pārējais atgriezīs true)! :) http://lv.php.net/manual/en/types.comparisons.php Link to comment Share on other sites More sharing options...
bubu Posted December 1, 2008 Report Share Posted December 1, 2008 Redziet, problēma ir tāda, ka php nav konkrēti izdalīti mainīgo tipi... Muļķības. PHP katram mainīgajam piemīt konkrēts tips. http://php.net/gettype Tas tev nav nekāds visual basic ar Variant tipu. Cita runa, ka php daudzas konvertācijas starp tipiem ir implicitas, (string->bool, int->string), t.i. notiek automātiski, neko īpaši nedarot. "" nav tas pats, kas false. Tas, ka tas ir vienāds salīdzinot to ar false, ir cita runa. Ekvivalents tas nav. Link to comment Share on other sites More sharing options...
Recommended Posts