php基础之数组

php的数组

简单的理解一下php中数组的使用,跟其它语言差不多,增删改查、排序等操作都有,只是使用方式稍有不同,大体逻辑是一样的。

数组的声明

PHP中,有三种类型的数组,分别是数值数组、关联数组、多维数组。下面代码展示如何声明一个php数组。


<?php
$array1 = array();//声明一个空数组
$cars = array("Volvo","BMW","Toyota");//数值数组

echo count($cars);//count()返回数组的长度
$age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");//关联数组

//其中包含多个键值对
echo "Peter is ".$age['Peter']." years old.";

//关联数组的遍历方法
foreach($age as $x=>$x_value)
{
    echo "Key=".$x.", Value=".$x_value."<br>";
}

//多维数组
// 创建第一个数组 
$one = array( 
	'a' => 'aaa',  
	'b' => 'bbb', 
	'c' => 'ccc' 
); 

// 创建第二个数组 
$two = array ( 
	'a' => 'a2', 
	'b' => 'b2', 
	'c' => 'c2', 
); 

// 创建第三个数组 
$three = array ( 
	'a' => '123',  
	'b' => '234', 
	'c' => '345', 
); 

// 结合成三维数组 
$all = array( 
	'one' => $one, 
	'two' => $two, 
	'three' => $three 
); 

//多维数组的遍历方法
foreach ($all as $key => $val) { 
	echo "<h2>$key</h2><ul>"; 
	foreach ($all as $k => $v) { 
		echo "<li>$k - $v</li>\n"; 
	}  
	echo '</ul>'; 
} 

?>

数组的操作

  • 数组的增

//数组的合并
$array1 =array('a','b','c');
$array2 = array('a1'=>'php','a2'=>'python','a3'=>'java');
$array3 = array_merge($array1,$array2);

增加数组元素的函数
array_push 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。

//续上面的代码

array_push($array1,'d','e');
print_r($array1);

添加到指定位置

<?php
$array1 = array('a', 'b', 'c', 'd', 'e');
$array2 = array('x');
array_splice($array1, 3, 0, $array2); // 插入到位置3并且删除0个
print_r($array1);
?>

  • 数组的删

使用unset 销毁指定的元素

$array1 = array('a', 'b', 'c', 'd', 'e');
unset($array1[0]);
print_r($array1);

  • 数组的改

$array1 = array('a', 'b', 'c', 'd', 'e');
$array1[0]='aa';//直接使用数组下标修改对应的元素
print_r($array1);

使用array_splice函数,函数array_splice(数组,位置,删除数量,增加元素)

<?php
$array1 = array('a', 'b', 'c', 'd', 'e');
$array2 = array('x');
array_splice($array1, 3, 1); 
print_r($array1);
?>
  • 数组的查

也就是数组的查找,参考链接: php数组查找的几种方法

数组常用的函数

  • is_array 判断是否为数组
  • count 数组的元素数目
  • array_search 在数组中搜索给定的值,如果成功则返回相应的键名
  • array_key_exists 在给定的 key 存在于数组中时返回TRUE
  • array_unshift 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变
  • array_shiftarray 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。
  • array_unique 接受 array 作为输入并返回没有重复值的新数组。注意键名保留不变。 array_unique 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
  • in_array 检查数组中是否存在某个值 如果找到指定的值则返回 TRUE,否则返回 FALSEin_array是区分大小写的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值