PHP数组与数据结构

PHP数组与数据结构

1. 认识数组

数组的英文是array,可以存入多个不同类型的数据,是一个复合数据类型。

代码示例:

<?php

//数组的英文是array,可以存入多个不同类型的数据,是一个复合数据类型
$arr = array(1, 1.5, true, '天王盖地虎,小鸡炖蘑菇。');

echo '<pre>';
var_dump($arr);
echo '</pre>';

?>

输出结果为:

<pre>array(4) {

  [0]=>
  int(1)
  [1]=>
  float(1.5)
  [2]=>
  bool(true)
  [3]=>
  string(36) "天王盖地虎,小鸡炖蘑菇。"
}

</pre>

在上例中,我们发现我们存入了:
1.整型
2.浮点
3.布尔
4.字符串

注:
上例中 echo pre 这个标签的主要目的是为原样输出,格式展示的更好看,更清晰。
然后我们用 var_dump()打印出来看一下效果。

注:
索引数组的下标必须要从0开始吗?
答:这个问题其实不然,索引数组并不一定要从0开始。
那如何能够不从0开始呢?
答:需要用到大家在上面学的一小块知识哟。就是键值对应符。我们来动手写写。

<?php

$arr = array('只有不断努力才能博得未来',10 => 'NoAlike', 'PHP中文网' , '去PHP中文网学PHP', 19 => '苹果和梨子我都爱' , '橘子我最爱');

//打印显示$arr
echo '<pre>';
var_dump($arr);
echo '</pre>';

?>

输出结果为:

<pre>array(6) {
  [0]=>
  string(36) "只有不断努力才能博得未来"
  [10]=>
  string(7) "NoAlike"
  [11]=>
  string(12) "PHP中文网"
  [12]=>
  string(21) "去PHP中文网学PHP"
  [19]=>
  string(24) "苹果和梨子我都爱"
  [20]=>
  string(15) "橘子我最爱"
}
</pre>

2. for 循环遍历索引数组

<?php

//声明一个数组,值为1到10
$num = array(1,2,3,4,5,6,7,8,9,10);

//按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9
echo '下标为0的数字:'.$num[0].PHP_EOL;
echo '下标为9的数字:'.$num[9].PHP_EOL;


//我们可以得到数组中元素的总个数,为10
echo '数组中元素的总个数:'.count($num) .PHP_EOL;

//遍历这个索引数组的话,我们就可以定义一个变量为$i
//$i 的值为0,从0开始
//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环
for($i = 0 ; $i < count($num) ; $i++){

    echo $num[$i].PHP_EOL;

}

?>

输出结果为:

下标为0的数字:1
下标为9的数字:10
数组中元素的总个数:10
1
2
3
4
5
6
7
8
9
10

通过上面的例子,我们就把数组进行了循环。
因为下标是从0开始的,定义 $ i = 0 。每次循环的时候让 $ i 加1 ,但是必须要小于10,因为数组下标的最大值为9。

3. 常用操作数组函数

函数功能
array_shift弹出数组中的第一个元素
array_unshift在数组的开始处压入元素
array_push向数组的末尾处压入元素
array_pop弹出数组末尾的最后一个元素
current读出指针当前位置的值
key读出指针当前位置的键

功能:弹出数组中的第一个元素。

<?php

$star = array("邓超", "黄晓明", "宁泽涛", "钟汉良");
$star_first = array_shift($star);

echo '元组的第一个元素为:'.$star_first .PHP_EOL;
print_r($star);

?>

输出结果为:

元组的第一个元素为:邓超
Array
(
    [0] => 黄晓明
    [1] => 宁泽涛
    [2] => 钟汉良
)

end

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值