1. 程式人生 > >php陣列常用的鍵值處理函式

php陣列常用的鍵值處理函式

陣列函式__鍵值操作:

1.array_values($arr): 返回元素值組成的新陣列(索引)
2.array_column($arr,$col, $index): 返回多維陣列中的一列,可指定鍵或索引
3.array_keys($arr,$val,$bool): 返回鍵名組成的新陣列
4.in_array($val, $arr, $bool): 根據元素值判斷值是否在陣列中,返回布林值
5.array_search($val, $arr,$bool): 查詢指定值,並返回該值的鍵名,否則返回false
6.array_key_exists($key,$arr): 根據鍵名判斷元素是否在陣列中
7.array_flip($arr): 鍵值互換
8.array_reverse(): 陣列元素順序翻轉

 

 

預備: 陣列輸出的三個函式
1. print_r($arr,$bool) 格式化輸出變數
2. var_dump($arr1,$arr2...)  可輸出多個變數的詳細資訊
3. var_export($arr,true)  輸出變數的字串表示,其實就是php語句

 

$arr1=['id'=>'10','name'=>'楊過','sex'=>'male','salary'=>8800];
/**
 * 預備: 陣列輸出的二個函式
 * 1. print_r($arr,$bool) 格式化輸出變數
 * 2. var_dump($arr1,$arr2...)  可輸出多個變數的詳細資訊
 * 3. var_export($arr,true)  輸出變數的字串表示,其實就是php語句
 */

echo gettype(print_r($arr1,true));  //加上返回值true,相當於變成了一個字串
echo '<pre>'.print_r($arr1,true);
var_dump($arr1,true);
var_export($arr1);    //加上返回值true變字串


echo '<hr>';
$arr2 = array (
    'id' => '100',
  'name' => '楊康',
  'sex' => 'male',
  'salary' => 500,
);
echo '<pre>'.print_r($arr2,true);
echo '<pre>'.var_export($arr2,true);   //相當於變成string型別(加true之後)
echo '<hr>';



//1.array_values($arr)  返回元素值組成的新陣列(索引)
echo 'array_values($arr)'.'<br>';
$arr3 = array_values($arr2);
print_r($arr3);
echo '<pre>'.var_export(array_values($arr1),true);
echo '<hr>';


//2.array_column($arr,$col, $index): 返回多維陣列中的一列,可指定鍵或索引
//$arr4=[
//    ['id'=>'10','name' => '楊過','sex' => '男','salary' => 8000],
//    ['id'=>'100','name' => '楊康','sex' => '男','salary' => 4000],
//    ['id'=>'1000','name' => '郭靖','sex' => '男','salary' => 2000],
//    ['id'=>'1','name' => '小龍女','sex' => '女','salary' => 9000],
//];
//追加陣列方式
$arr4=[];
$arr4[]=['id'=>'10','name' => '楊過','sex' => '男','salary' => 8000];
$arr4[]=['id'=>'100','name' => '楊康','sex' => '男','salary' => 4000];
$arr4[]=['id'=>'1000','name' => '郭靖','sex' => '男','salary' => 2000];
$arr4[]=['id'=>'1','name' => '小龍女','sex' => '女','salary' => 9000];
echo '<pre>'.var_export(array_column($arr4,'salary'),true);
echo '<pre>'.var_export(array_column($arr4,'salary','name'),true);
echo '<hr>';

//3.array_keys($arr,$val,$bool): 返回當前陣列的鍵名組成的新陣列
echo '<pre>'.var_export(array_keys($arr1),true);
//返回指定值所對應的鍵名
echo '<pre>'.var_export(array_keys($arr1,'male'),true);
echo '<hr>';


//4.in_array($val, $arr, $bool): 根據元素值判斷值是否在陣列中,返回布林值
echo in_array(8800,$arr1)?'存在':'不存在';
echo '<br>';
//5.array_search($val, $arr,$bool): 查詢指定值,並返回該值的鍵名,否則返回false
$res = array_search('male',$arr1);
echo $res?:'沒有找到';
echo '<br>';
echo $arr1[$res];

//6.array_key_exists($key,$arr)  功能: 判斷陣列中是否存在指定的鍵名
echo '<hr>';
echo array_key_exists('name',$arr1)?'鍵名存在':'鍵名不存在';

//7.array_flip($arr)  .功能: 鍵值互換
echo '<pre>'.var_export(array_flip($arr1),true).'<hr>';

//8.array_reverse($arr)  功能: 陣列元素順序反轉
echo '<pre>'.var_export(array_reverse($arr1),true);