php中数组与字符串

巴扎黑
Libérer: 2016-11-29 11:34:05
original
983 Les gens l'ont consulté

因为php的语法要求不严格,字符串也可以当数组使用,这样就存在一个问题:当使用非数字作为key访问字符串中的内容时,就可能会带来一些不一致的情况,如下面的代码

1    $hello =  "hello" ;    

2    var_dump( $hello [ 'abc' ]);    

3    var_dump( $hello [ '0' ]);    

4    var_dump( $hello [ '1abc' ]);    

5    var_dump( $hello [ '12abc' ]);    

结果:

'h'

'h'

'e'

''

输出的结果就不说了,简单运行一下就可以知道,我想原因是由intval这个东东引起的,时间关系,没有去确认zend的代码,不过下面代码的运行结果页说明了一些问题

1    var_dump( intval ( 'abc' ));    

2    var_dump( intval ( '0' ));    

3    var_dump( intval ( '1abc' ));    

4    var_dump( intval ( '12abc' ));    

这个东东,对code review或者测试时候是一个很有杀伤力的bug,如果一个函数设计的返回值不好,有时候返回数组,有时候返回字符串,在使用之前,就一定要先判断返回结果是否为数组,否则就会在这个bug上杯具


Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!