玩转PHP关联数组的10个技巧(3)

 

    8、确定键和值是否存在

    你可以使用in_array()函数确定一个数组元素是否存在。

       
       
       
       
    1. $capitals = array(  
    2.   'Arizona' => 'Phoenix',  
    3.   'Alaska'  => 'Juneau',  
    4.   'Alabama' => 'Montgomery'  
    5. );  
    6. if (in_array("Juneau", $capitals))  
    7. {  
    8.   echo "Exists!";  
    9. } else {  
    10.   echo "Does not exist!";  

    很少有人知道这个函数也可以确定一个数组键是否存在,在这一点上,它和array_key_exists()函数的功能一样。

       
       
       
       
    1. $capitals = array(  
    2.   'Arizona' => 'Phoenix',  
    3.   'Alaska'  => 'Juneau',  
    4.   'Alabama' => 'Montgomery'  
    5. );  
    6. if (array_key_exists("Alaska", $capitals))  
    7. {  
    8.   echo "Key exists!";  
    9. } else {  
    10.   echo "Key does not exist!";  

    9、搜索数组

    你可能想搜索数组资源,这样用户就可以方便地用一个特定的州府检索关联的州,可以通过array_search()函数实现数组搜索。

       
       
       
       
    1. $capitals = array(  
    2.   'Arizona' => 'Phoenix',  
    3.   'Alaska'  => 'Juneau',  
    4.   'Alabama' => 'Montgomery'  
    5. );  
    6. $state = array_search('Juneau', $capitals);  
    7. // $state = 'Alaska' 

    10、标准PHP库

    标准PHP库(Standard PHP Library,SPL)为开发人员提供了许多数据结构,迭代器,接口,异常和其它以前PHP语言没有的功能,使用这些功能可以通过面向对象的语法遍历数组。

       
       
       
       
    1. $capitals = array(  
    2.   'Arizona' => 'Phoenix',  
    3.   'Alaska'  => 'Juneau',  
    4.   'Alabama' => 'Montgomery'  
    5. );  
    6. $arrayObject = new ArrayObject($capitals);  
    7. foreach ($arrayObject as $state => $capital)  
    8. {  
    9.   printf("The capital of %s is %s<br />", $state, $capital);  
    10. }  
    11. // The capital of Arizona is Phoenix  
    12. // The capital of Alaska is Juneau  
    13. // The capital of Alabama is Montgomery 

    这仅仅是SPL众多伟大功能中的一个,一定要阅读PHP文档了解更多信息。

    原文明:10 PHP Tricks for Associative Array Manipulation                黄永兵 译

    原文链接:http://www.phpbuilder.com/columns/associative-array-manipulation/Jason_Gilmore12092010.php3

你可能感兴趣的:(职场,数组,休闲)