PHP学习笔记(2)

数组

PHP对于数组遍历的方法:

php里面的数组有索引数组关联数组

  1. for循环遍历索引数组:
    因为for循环是一个单纯的计数型循环,而索引数组的下标为整型的数值。因此,我们可以通过for循环来遍历索引数组。

$arr = [1,2,3,4,5];
for($i = 0; $i < count($arr); $i++){ //count()是计算数组数量的函数
    echo $arr[$i];
}
    //输出12345
  1. foreach循环遍历关联数组:
//foreach( 要循环的数组变量 as [键变量 =>] 值变量){
//循环的结构体
//}
//定义一个关联数组
$arr = [
        'dy' => '大爷',
        'dm' => '大妈'
    ];


foreach($arr  as $key => $value){ //$key和$value这两个变量不一定这样命名,是可以随便取你喜欢的名字的
       echo $key . '-' . $value . '<br />';
}
//输出dy-大爷 dm-大妈


//如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了。


foreach($arr  as  $value){
       echo  $value . '<br />';
}
//输出大爷 大妈
  1. list函数遍历数组:
    原型:list ( mixed $变量1 [, mixed $变量n ] ) 它的功能:将索引数组下标为0的对应我变量1,下标1的对应变量2,依此类推。
list($one , $two , $three) = array('张三' ,'李四' ,'王五');
echo $one.'-'.$two.'-'.$three;//输出张三-李四-王五

list($one, $two, $three) = array(2 => '张三', '李四', '王五');
echo '$one----' . $one . '<br />';
echo '$two----' . $two . '<br />';
echo '$three----' . $three . '<br />';
/*输出:$one----
$two----
$three----张三
*/
/*  
	1.因为是一一对应原则,$one找不到下标为0的数组元素,$two找不到下标为1的数组元素,只有$three找到了下标为2的数组元素
    2.在list($one, $two, $three),我只写了三个变量。对应完成,无需再对应后面的变量了,丢弃李四和王五
*/
  1. each函数:
    原型:array each ( array &$array ) ;传入一个数组,它会将其中的一个元素拆为个新数组。每次执行这样操作一个元素。执行一次先后移动一次,同样的方式操作下一个数组元素。执行到最后,返回false。

$arr = [
        "one" => 'baba',
        "two" => 'mama'
    ];
    
$data = each($arr);

echo '<pre>';
var_dump($data);
echo '</pre>';
/*输出
array(4) {
  [1]=>
  string(4) "baba"
  ["value"]=>
  string(4) "baba"
  [0]=>
  string(3) "one"
  ["key"]=>
  string(3) "one"
}
*/

//可以结合list用,0的下标做list的第一个变量,1的下标当list的第二个变量,就可以组合成一个数组

list($first,$last) = each($arr); //上面each过一次,现在会往后移动一次,现在是在two的键值那边

echo $first.'---'.$last; //输出two---mama

PHP里面常用的数组 “操作” 函数:

  1. count()
    原型是: int count(mixed $变量); mixed类型就是可以传入其他类型的变量,其返回的类型是int整数
 $arr = array(1,2,3,4);
 echo count($arr); //输出 4;
  1. array_shift()
    原型:mixed array_shift ( array &$array ) 弹出数组中的第一个元素

$arr=['boy','hello','php'];

echo array_shift($arr).'<br/>'; //返回第一个元素值boy

print_r($arr); //原函数变成两个长度,输出为Array ( [0] => hello [1] => php )
  1. array_unshift()
    原型:int array_unshift ( array &$数组 , mixed $值1 [, mixed $… ] )功能:向指数组的开始处压入一个或多个元素,返回的是总个数。

$arr = ['jobin','ben'];

echo array_unshift($arr,'hello','php')."<br/>"; //返回数组总个数:4

print_r($arr); //输出原数组:Array ( [0] => hello [1] => php [2] => jobin [3] => ben )
  1. array_pop()
    原型:mixed array_pop ( array &$array )这个函数是栈的出栈,功能:弹出数组末尾的一个元素
$arr = ['hello','php','boy'];
echo array_pop($arr).'<br/>'; //返回boy
print_r($arr); //输出原数组:Array ( [0] => hello [1] => php )
  1. array_push()
    原型:int array_push ( array &$array , mixed $value1 [, mixed $… ] ) 向指数组末尾处压入一个或多个元素,返回的是总个数。
$arr = ['hello','php','boy'];
echo array_push($arr,'JJ','verY').'<br/>'; //返回 5
print_r($arr); //输出原数组:Array ( [0] => hello [1] => php [2] => boy [3] => JJ [4] => verY )
  1. 其他函数:
    current 读出指针当前位置的值
    key 读出指针当前位置的键
    next 指针向下移
    prev 向上移
    reset 指针到开始处
    end 指针到结束处
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值