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數組、鍵名、索引、鍵值有什麼區別
數悄宴組的根據類型來分,分為關聯數組和數字索引數組。