至尊技术网 - 数组
type: channel
link: https://www.zzwws.cn/tag/%E6%95%B0%E7%BB%84/
items: PHP xml和数组互转
items: js判断数组中是否存在某个元素
items: 解决php中使用json_decode没有数据
items: PHP操作数组单元

PHP xml和数组互转
type: item
date: 2022-03-02T09:30:19+08:00
description: // xml转数组 function xml_array($xml){ //禁止引用外部xml实体 libxml_disable_entity_loader(true); $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $val = json_decode(json_encode($xmlstring),true); return $val; } // 数组转xml function array_xml($arr){ $xml = " "; foreach ($arr as $key=>$val){ if(is_array($val)){ $xml.="<".$key.">".array_xml($val)."</".$key.">"; }else{ $xml.="<".$key.">".$val."</".$key.">"; } } $xml.=" "; return $xml; }

js判断数组中是否存在某个元素
type: item
date: 2021-12-02T10:28:18+08:00
description: 方法一：array.indexOf(item,start)实际用法：if(arr.indexOf(某元素) > -1){//则包含该元素}var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple"); // 2 方法二：array.find()arr = [1,2,3,4,5]; arr.find(function(value) { if(value === 要查找的值) { //包含该元素 } }) 方法三：jQuery.inArray()arr = [1,2,3,4,5]; index = $.inArray(2,arr); if(index > -1){ console.log('包含该元素') }

解决php中使用json_decode没有数据
type: item
date: 2021-09-23T17:58:00+08:00
description: php中使用json_decode显示NULL，的原因就是因为json_decode的数据不是严格意义上的UTF-8的编码。所以需要手动修改转码即可！使用php的file_get_contents获取API的json数据,从文件读取的json，js前端传递的json，在json_decode前使用$json = iconv('gbk','utf-8', $json); 转码，然后再使用json_decode$arr = json_decode($json, true);

PHP操作数组单元
type: item
date: 2020-11-26T16:25:00+08:00
description: 数组是一个复合数据 , 里面放了很多数据print_r() 将里面所有的数据都打印了出来需要对数组的具体单元进行操作数组单元的 增 , 删 , 改 , 查1、单独取出某一个单元的值 , 用健来取 $ 数组名 [ 健 ]$arr = array('a','b','c'); echo $arr[1],' '; 2、取出二维数组的值数组的层级顶多到 3 层 , 否则人无法直观的理解$arr2 = array('name'=>'lisi','hobby'=>array('basketball','football','pingpang')); echo $arr2['hobby'][0]; 3、更改一个数组单元的值$arr2['hobby'][0] = 'swiming'; print_r($arr2); 4、增加一个数组单元$arr2['area'] = 'beijing'; print_r($arr2); $arr2['area'] = 'shanghai'; print_r($arr2); 5、删除数组单元unset($arr2['hobby']); print_r($arr2); 6、取出关联数组最后一个键echo key(array_slice($arr,-1,1,TRUE)); echo end(array_keys($arr)); echo array_pop(array_keys($arr)); echo array_key_last($arr);// PHP7.3以上 echo $arr[count($arr)-1];//取数值数组 其它函数array_push 将一个或多个单元压入数组的末尾$arr = array('a','b','c'); array_push($arr,'d'); print_r($arr); array_pop 将数组最后一个单元弹出$arr = array('a','b','c'); array_pop($arr); print_r($arr); array_shift 将数组开头的单元移出数组$arr = array('a','b','c'); array_shift($arr); print_r($arr); array_unshift 在数组开头插入一个或多个单元$arr = array('a','b','c'); array_unshift($arr, 'wow'); print_r($arr); array_sum 计算数组中所有值的和$arr = array('1','2','3'); print_r($arr); echo array_sum($arr); array_merge 合并一个或多个数组 $array1 = array( "color" => "red" , 2 , 4 ); $array2 = array( "a" , "b" , "color" => "green" , "shape" => "trapezoid" , 4 ); $result = array_merge ( $array1 , $array2 ); print_r ( $result ); array_merge_recursive 递归地合并一个或多个数组 $ar1 = array( "color" => array( "favorite" => "red" ), 5 ); $ar2 = array( 10 , "color" => array( "favorite" => "green" , "blue" )); $result = array_merge_recursive ( $ar1 , $ar2 ); print_r ( $result ); array_combine 创建一个数组，用一个数组的值作为其键名，另一个数组的值作为其值 $a = array( 'green' , 'red' , 'yellow' ); $b = array( 'avocado' , 'apple' , 'banana' ); $c = array_combine ( $a , $b ); print_r ( $c ); serialize 产生一个可存储的值的表示$a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组 echo serialize($a); //输出结果：a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"Coconut";} unserialize 从已存储的表示中创建 PHP 的值$a = 'a:3:{s:1:"a";s:5:"…