php索引数组和关联数组
⑴ php中一维索引数组转二维关联数组
$u_id=2;
$a_id=array(2,3,4);
$arr=array_map(function($v){
global$u_id;
returnarray("u_id"=>$u_id,"a_id"=>$v);
},$a_id);
print_r($arr);
⑵ php中数组的分类有哪两种
1、索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("porsche","BMW","Volvo");
2、关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
(2)php索引数组和关联数组扩展阅读
实用函数——
有相当多的实用函数作用于数组,参见数组函数一节。
注: unset() 函数允许取消一个数组中的键名。要注意数组将不会重建索引。
<?php
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] );
/* 将产生一个数组,定义为
$a = array( 1=>'one', 3=>'three');
而不是
$a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>
foreach 控制结构是专门用于数组的。它提供了一个简单的方法来遍历数组。
⑶ PHP程序中怎么解决“未定义的索引”这个问题
通常出现未定义的索引问题是由于数组没有这个值造成的,数组分为关联数组和索引数组,索引数组是数字下标;关联数组是键值下标。
$POST['id']之所以报未定义索引是因为$POST这个数组里没有包含下标键值为id的值。
解决办法: 判断数组中是否包含下标键值为id的值,如果没有,则返回错误信息,如何判断呢,最简单的方法就是用函数isset来判断,如isset($POST['id']),存在则返回true,反之则为false;
三元判断法,不存在给一个默认的数值, 如 $POST['id'] = isset($POST['id'])?$POST['id']:"1";
⑷ php数组、键名、索引、键值有什么区别
数悄宴组的根据类型来分,分为关联数组和数字索引数组。