PHP-数组函数操作

以下是学习过程中总结的有关于PHP中常用的数组函数集合>>

<?php

/*


数组定义:

方式一:   $arrData = array(x,y,.,.);
            $arrData = array('曹操','刘备','zf'=>'张飞','孙权','dz'=>'董卓');
            echo $arrData['zf'];


方式二:

            $arrData[] = '曹操';
            $arrData[2] = '刘备';
            $arrData[] = '张飞';
            echo $arrData[3];

方式三  

      $arrData = [x,y,z]
      $arrData = ['曹操','刘备','zf'=>'张飞'];
      echo $arrData['zf'];


二维数组
  $school = array(
         'php1111'=>array(x,y,z),
         'php1208'=>array(x,y,z),
  );


   $school = array(
         'php1111'=>array(12,13,14),
         'php1208'=>array(15,16,17),
  );
 echo $school['php1208'][1];


 */



//数组处理  
/*

var_dump  print_r 打印数组
  in_array 检查数组中是否存在某个值
  array_key_exists  检查数组中是否存在某个键
  array_keys 返回一个由数组键组成的数组
  array_values 返回一个由数组值组成的数组

数组指针操作
   key 当前指针所在位置的键名
   current 当前指针所在位置的值
   each 当前指针所在位置的键名与值,把指针移到下一个位置
   list($a,$b) = 数组   给变量赋值
   reset  重置数组指针  头部
   end  重置数组指针    属部
   next  数组指计下移
   prev  数组指计上移

数组元素添加和删除
    array_push 在数组的末尾添加元素
    array_unshift 在数组的头部添加元素
    array_pop 取出数组末尾的元素
    array_shift 取出数组头部元素
    array_pad 将数组填充到指定长度 
    array_unique 删除数组中重复的元素
    array_splice


数组的排序
     sort  升序
     rsort 降序
     ksort  升序
     krsort 降序

其它
     shuffle  打乱数组元素 
     range 产生一个范围数组
     array_sum数组求和
     array_chunk 将一维数组分为多维数组

数组合并与拆分
    array_combine 用一个数组作为键,另一个数组作为值组成一个新数组
    array_merge 合并一个或多个数组
    array_slice 从数组中取出一段

 数组过滤
     array_filter   
数组加工
     array_map 用函数加工数组元素 
     array_intersect 求数组的交集
     array_diff 按值求数组之间的差集
     array_diff_key
     array_diff_assoc
     array_reduce 用函数迭代数组元素,最后返回一个值
     array_reverse  颠倒数组元素的顺序
 */

$arrData = array('曹操','刘备','zf'=>'张飞','孙权','dz'=>'董卓');
var_dump($arrData);
print_r($arrData);

echo "<hr/>";
if(in_array('张飞', $arrData)){
    echo "找到了";
}else{
    echo "没有找到";
}

echo "<hr/>";
if(array_key_exists('f', $arrData)){
    echo "找到了";
}else{
    echo "没有找到";
}

echo "<hr/>";
$arrData1 = array("one"=>1,"two"=>2);
var_dump(array_keys($arrData1));
var_dump(array_values($arrData1));

echo "<hr/>";
$arrData = array('曹操','刘备','zf'=>'张飞','孙权','dz'=>'董卓');
//echo key($arrData)."--".current($arrData);
$arrDatax = each($arrData);
echo $arrDatax[0]."--".$arrDatax[1]."<hr/>";
echo key($arrData)."--".current($arrData);


echo "<hr/>";
$arrData1 = array(1,2);
list($a,$b) = $arrData1;
echo $a.$b;

echo "<hr/>";
$arrData = array('曹操','刘备','zf'=>'张飞','孙权','dz'=>'董卓');
$arrDatax = each($arrData);
echo current($arrData);
end($arrData);
echo current($arrData);


echo "<hr/>";

$arrData = array('曹操','刘备','zf'=>'张飞','孙权','dz'=>'董卓');
array_push($arrData, '吕布');
var_dump($arrData);

array_unshift($arrData, '杨修');
var_dump($arrData);

echo array_pop($arrData);
echo array_shift($arrData);

$arrData1 = array(1,2);
$arrData2 = array_pad($arrData1, 3, 'a');
var_dump($arrData2);
for($i=0;$i<count($arrData2);$i++){
  echo $arrData2[$i];
}

echo "<hr/>";
$color = array('红','黄','绿','青','绿');
$newColor = array_unique($color);
var_dump($newColor);


echo "<hr/>";
$numData = array(7,3,5,1);
sort($numData);
var_dump($numData);
rsort($numData);
var_dump($numData);

echo "<hr/>";
$numData = array('a'=>'啊','b'=>'报','d'=>'的','chi'=>'吃','cha'=>'尝');
ksort($numData);
var_dump($numData);
krsort($numData);
var_dump($numData);

$numData = array('a'=>'啊','b'=>'报','d'=>'的','chi'=>'吃','cha'=>'尝');
shuffle($numData);
var_dump($numData);


echo "<hr/>";
$arrData1 = array("a","b");
$arrData2 = array(97,98);
$arrData3 = array_combine($arrData1, $arrData2);
var_dump($arrData3);


$arrData4 = array(1,2);
$arrData5 = array(3,4);
$arrData6 = array_merge($arrData4,$arrData5);
var_dump($arrData6);
$newData = array_slice($arrData6, 1,2,true);
var_dump($newData);


echo "<hr/>";
$arrData = array('曹操','刘备','zf'=>'张飞','孙权','dz'=>'董卓');
array_splice($arrData, 1,2,array('孙悟空','宋江'));
var_dump($arrData);

echo "<hr/>";
$arrDatax =range(1,100);
echo array_sum($arrDatax);


$arrDatay =range(1,10);
$arr = array_chunk($arrDatay, 2);
var_dump($arr);

$arrDatay = range(1,10);
function odd($data){
     if($data%2!=0){
        return true;
     }
}
$arr = array_filter($arrDatay,"odd");


$arrDatay = range(1,10);
$arr = array_map("dealData", $arrDatay);
function dealData($data){
   return $data*$data;
}
var_dump($arr);


echo "<hr/>";
$arrData1 = range(1,5);
$arrData2 = range(4,9);
$arrData3 = array_intersect($arrData2, $arrData1);
var_dump($arrData3);

$arrData3 = array_diff($arrData1, $arrData2);
var_dump($arrData3);

$arrData4 = array("red"=>'红色','绿色','gray'=>'灰色');
$arrData5 = array("red"=>'红色','灰色','绿色');
$arrData6 = array_diff_assoc($arrData5, $arrData4);
var_dump($arrData6);

$arrData7 = range(1,10);
echo $arrData7[array_rand($arrData7)];
echo "<hr/>";
echo array_sum($arrData7);

echo "<hr/>";
echo array_reduce($arrData7, function($total,$item){
    return $total+$item;
});

echo "<hr/>";
for($total=0,$i=0;$i<count($arrData7);$i++){
    $total+=$arrData7[$i];
}
echo $total;


$strData = ["how","are","you"];
$data = array_reverse($strData);
var_dump($data);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值