PHP数组

  1. json不使用url_incode

     $arr = array('中文汉字','中文字符');
     $str = json_encode($arr,JSON_UNESCAPED_UNICODE);
     echo $str;
    
  2. xml、json解析

     function xmlParsing($url)
     {
         $xml = file_get_contents($url);
         //参数LIBXML_NOCDATA表示能解析<![CDATA['数据']]>
         //simplexml_load_file是直接指向xml文件
         $object = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
         $array = json_decode(json_encode($object, JSON_UNESCAPED_UNICODE), true);
         return $array;
     }
     function jsonParsing($url)
     {
         $json = file_get_contents($url);
         //true解码为数组,false解码为对象
         $array = json_decode($json, true);
         return $array;
     }
    
  3. php数组序列化、字符串反序列化

     # 序列化
     $arr = ['a' => 1, 'b' => 2];
     $str = http_build_query($arr);
     echo $str;
     # 输出: 'a=1&b=2'
    
     # 反序列化
     $str = 'a=1&b=2';
     $arr = parse_str($str);
     print_r($arr);
     # 输出:
     Array
     (
         [a] => 1
         [b] => 2
     )
    
  4. php排序方法

     sort()   - 以升序对数组值排序
     rsort()  - 以降序对数组值排序
    
     asort()  - 以升序对关联数组【值】进行排序
     arsort() - 以降序对关联数组【值】进行排序
    
     ksort()  - 以升序对关联数组【键】进行排序
     krsort() - 以降序对关联数组【键】进行排序
    
  5. 合并数组中值相同的元素

     $arr = array_unique($arr);
    
  6. php二维数组排序

     arr_sort($array,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC)
     {
         //$sort_order=SORT_ASC、SORT_DESC
         //$sort_type=SORT_NUMERIC、SORT_STRING、SORT_REGULAR
         if(is_array($array)){
             foreach ($array as $arr){
                 if(is_array($arr)){
                     $arrays[] = $arr[$sort_key];
                 }else{
                     return false;
                 }
             }
         }else{
             return false;
         }
         array_multisort($arrays,$sort_order,$sort_type,$array);
         return $array;
     }
    
  7. 内部foreach跳出到外部foreach

     $arr1 = array(0,1,2,3);
     $arr2 = array(
         0 => array(1,2,3,4),
         1 => array(1,2,8,4),
         2 => array(1,2,3,4),
         3 => array(1,2,3,4)
     );
     echo "<pre>";
     foreach ($arr1 as $val1){
         echo "\n"."外".$val1."\n";
         foreach ($arr2[$val1] as $val2){
             echo "内".$val2."\n";
             if($val2 > 1){
                 $status = 1;
                 goto con;
             }
         }
         con:
         if(isset($status) && $status == 1){
             $status = 0;
             continue;
         }
     }
     echo "</pre>";
    

results matching ""

    No results matching ""