PHP中一些常用知识点
1、json字符串轉json對象
$data='[{"user_id":"93","price":"52.50"},{"user_id":"93","price":"52.50"},{"user_id":"93","price":"52.50"}]'; $jsonObj = json_decode($data,true); var_dump($jsonObj);輸出如下:
array (size=3)0 => array (size=2)'user_id' => string '93' (length=2)'price' => string '52.50' (length=5)1 => array (size=2)'user_id' => string '93' (length=2)'price' => string '52.50' (length=5)2 => array (size=2)'user_id' => string '93' (length=2)'price' => string '52.50' (length=5)這種輸出方法與下面的一樣:
$sql = "SELECT * " ."FROM goods WHERE is_hot = 1";$row = $GLOBALS['db']->getAll($sql);var_dump($row);輸出如下:
array (size=10)0 => array (size=52)'goods_id' => string '1089' (length=4)'cat_id' => string '310' (length=3)'goods_sn' => string 'ECS001201' (length=9)'goods_name' => string '喇叭袖中長上衣夏季短袖T恤打底裙' (length=86)1 => array (size=52)'goods_id' => string '1099' (length=4)'cat_id' => string '336' (length=3)'goods_sn' => string 'ESCOO1105' (length=9)'goods_name' => string '欖油菜籽油玉米植物調和油商超同款' (length=86)2 => array (size=52)'goods_id' => string '1110' (length=4)'cat_id' => string '336' (length=3)'goods_sn' => string 'ECS001110' (length=9)'goods_name' => string '自榨菜油5l食用油非轉基因糧油' (length=88)?2、怎樣保存JSON字符串?怎樣添加或刪除一個JSON字符串
//定義一個數組 $allowArr=array(); //把從數據庫庫中獲取的[{"user_id":"93","user_name":"james","price":"88"},{"user_id":"293","user_name":"139335","price":"52.50"}]字符串轉換為數組對象 $allowMemberArr=json_decode($allowMember); //這里注意如果使用的是$allowMemberArr=json_decode($allowMember,true);遍歷取值的時候要用$row['user_id'],而不是$row->user_id//遍歷并添加到數組行 foreach ($allowMemberArr as $key=>$row) {$allowArr[] = array('user_id' => $row->user_id, 'user_name' => $row->user_name, 'price' => $row->price); } //添加一個數組行 $allowArr[]=array('user_id'=>$user_id,'user_name'=>$user_name,'price'=>$price); //把所有已經添加的數組行轉換為JSON字符串,然后就可以保存了(JSON_UNESCAPED_UNICODE 防止中文亂碼) $jsonString =json_encode($allowArr,JSON_UNESCAPED_UNICODE);
?刪除其中一個數組行也可以用遍歷判斷進行去除
$allowArr=array();$allowMemberArr=json_decode($allowMember);foreach ($allowMemberArr as $key=>$row){if($row->user_id!=$userId){$allowArr[]=array('user_id'=>$row->user_id,'user_name'=>$row->user_name,'price'=>$row->price);}}?3、在數組中判斷某個值是否存在
in_array(value,array,type)
該函數的作用是在數組array中搜索指定的value值,type是可選參數,如果設置該參數為 true ,則檢查搜索的數據與數組的值的類型是否相同,即恒等于(區分大小寫)。
//如果按JSON來說,解決的形如:["Peter", "Joe", "Glenn", "Cleveland"]方式 $people = array("Peter", "Joe", "Glenn", "Cleveland"); if(in_array("Glenn",$people)){echo "Match found"; }else{echo "Match not found"; }輸出: Match found //與下面這種方式是一樣的,如:$arrStr='["20","60","55"]';這種類型的字符串,如果用它進行比較需要轉換為數組:$arr=$json->decode($_GET['ids']);這種方法可以解決如:go.php?act=drop_group_users&ids=["287","294","302"] if(in_array("60",$arr)){echo "Match found"; }else{echo "Match not found"; }array_key_exists(key,array)
該函數是判斷某個數組array中是否存在指定的 key,如果該 key 存在,則返回 true,否則返回 false。
提示:請記住,如果您指定數組的時候省略了鍵名,將會生成從 0 開始并且每個鍵值對應以 1 遞增的整數鍵名
//如果按JSON來說,解決的形如:{"a":"Dog","b":“Cat"}方式 $a=array("a"=>"Dog","b"=>"Cat"); if(array_key_exists("a",$a)){ echo "Key exists!"; }else{ echo "Key does not exist!"; }輸出:Key exists!?
array_search(value,array,strict)
array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值。如果找到了該值,則返回匹配該元素所對應的鍵名。如果沒找到,則返回 false。注意在 PHP 4.2.0 之前,函數在失敗時返回 null 而不是 false。同樣如果第三個參數 strict 被指定為 true,則只有在數據類型和值都一致時才返回相應元素的鍵名。
$a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5"); echo array_search("Dog",$a); echo array_search("5",$a);輸出:
ad
?
轉載于:https://www.cnblogs.com/firstcsharp/p/10698472.html
總結
以上是生活随笔為你收集整理的PHP中一些常用知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shopt_Linux命令
- 下一篇: docker添加阿里云专属镜像