php插入數組
① php數組怎麼添加一個元素
1. php中增加數組元素的方法:
(1)通過賦值增加數組元素 :$states[『name』]=』Tom』;
(2)int array_push(array target_array,mixed variable [,mixed variable…]) 函數將variable增加到target_array的末尾,成功時返回true,否則返回false,其中variable可以是多個;
(3)int array_unshift(array target_array,mixed variable [,mixed variable…]) 函數將variable增加到target_array的數組頭,成功時返回true,否則返回false,其中variable可以是多個。所有已有的數值鍵都會相應地修改,而關聯鍵不受影響;
(4)array array_pad(array target_array,integer length,mixed pad_value) 將target_array 的大小增加到length指定的長度。
具體方法:
1.使用array_merge方法實現類似array_unshift在開頭添加元素的功能
代碼如下:
<?php
$queue = array('a', 'B');
$queue = array_merge(array('front' => 'hello'), $queue);
/*
Array
(
[front] => hello
[0] => a
[1] => b
)
*/
?>
2.+操作符
代碼如下:
<?php
$queue = array('a', 'B');
$queue = array('front' => 'Hello') + $queue;
?>
輸出結果與使用array_merge方法一樣。
3.在元素結尾添加關聯數組元素
代碼如下:
<?php
$queue = array('a', 'B');
$queue['front'] = 'hello';
/*
輸出
Array
(
[0] => a
[1] => b
[front] => hello
)
*/
?>
② php 把數組插入資料庫
<?php
$post='20-2,19-1,18-1';//$post=$_POST['xinxi'];
$id='20121015194535123456';//添加自己生成dingid的邏輯
//分解POST信息
$post=explode(',',$post);
//遍歷post數組,添加dingid數據
foreach($post as $k=>$v){
//將 20-2 分解
$post[$k]=explode('-',$post[$k]);
//在數組最前面加上dingid
array_unshift($post[$k],$id);
//重新組合為sql語句的values的子句
$post[$k]='('.implode(',',$post[$k]).')';
}
//組合sql語句
$post='INSERT INTO _table_(dingid,detailsid,buynumber) VALUES'.implode(',',$post);
//mysql_query函數
?>
③ PHP數組元素插入問題
array_push($array,'c' => 'Horse');
array_push($array,'d' => 'Pig');
④ php 怎麼把接受到的數據 循環的添加到數組
遍歷數據表,把相應的數據放到數組中即可
例如:
<?php
//定義一個數組,用於保存讀取到的數據
$contents = array();
$query = mysql_query("select * from table");
//遍歷數據表
while($array = mysql_fetch_array($query)){
$contents[] = $array;
}
print_r($contents);
//然後循環數組,或者通過鍵名使用數組
foreach($contents as $value){
print_r($value);
}
echo $contents[0]['欄位名稱'];
?>
⑤ php怎樣把一個數組放入另一個數組的子數組裡面
<?php
$a=原數組
$b=array(array('a','b','c'), array(1,2,3));//被插入數組
foreach($a as $k=>$v){
$a[$k]['c']=&$b[$k]; //引用方式插入第三個項。
}
var_mp($a);//此時$a具有第三項了
⑥ PHP如何在數組中插入值
$input = array(12, 10, 9);
array_push($input,11);
rsort($input);
print_r($input);
⑦ php一維數組怎麼追加到二維數組中
假如$leve是是一維數組,$level是二維數組。
代碼如下:
假如$leve是是一維數組,$level是二維數組,那麼你只要用以下代碼就可以進行追加了:
$level =array(3) {
[0]=>
array(2) {
["id"]=>
int(0)
["levelname"]=>
string(12) "普通會員"
}
[1]=>
array(2) {
["id"]=>
string(1) "8"
["levelname"]=>
string(9) "小二哥"
}
}
$leve = array('id'=>2,'levelname'=>'VIP客戶');
$level[]= $leve;
追加以後是
array(3) {
[0]=>
array(2) {
["id"]=>
int(0)
["levelname"]=>
string(12) "普通會員"
}
[1]=>
array(2) {
["id"]=>
string(1) "8"
["levelname"]=>
string(9) "小二哥"
}
[2]=>
array(2) {
["id"]=>
int(2)
["levelname"]=>
string(9) "VIP客戶"
}
}
(7)php插入數組擴展閱讀
與一維數組一樣,行序號和列序號的下標都是從 0 開始的。元素 a[i][j] 表示第 i+1 行、第 j+1 列的元素。數組 int a[m][n] 最大范圍處的元素是 a[m–1][n–1]。所以在引用數組元素時應該注意,下標值應在定義的數組大小的范圍內。
此外,與一維數組一樣,定義數組時用到的「數組名[常量表達式][常量表達式]」和引用數組元素時用到的「數組名[下標][下標]」是有區別的。前者是定義一個數組,以及該數組的維數和各維的大小。而後者僅僅是元素的下標,像坐標一樣,對應一個具體的元素。
C 語言對二維數組採用這樣的定義方式,使得二維數組可被看作一種特殊的一維數組,即它的元素為一維數組。比如「int a[3][4];」可以看作有三個元素,每個元素都為一個長度為 4 的一維數組。而且 a[0]、a[2]、a[3] 分別是這三個一維數組的數組名。
僅從表現形式上看,矩陣就是二維數組,所以矩陣的創建、表示以及一些操作和數組是一樣的,而二者之間的區別在於所遵守的運算規則不同,矩陣的運算一般將矩陣看做是一個整體進行運算,而數組的運算則是對應元素的運算。
⑧ php 數組添加元素
用array_slice()函數
array array_slice ( array myarray, int offset [, int length] )
返回myarray數組從地offset開始的length個元素
array_splice與上面的函數類似,只是把返回的部分刪除或替代
你的問題實現方法(給你寫成函數):
<?php
function array_insert($myarray,$value,$position=0)
{
$fore=($position==0)?array():array_splice($myarray,0,$position);
$fore[]=$value;
$ret=array_merge($fore,$myarray);
return $ret;
}
?>
此函數用法
返回一個數組,內容是在$myarray數組的$position處插入$value
例如:
$a=array("a", "b","c", "d");
$a=array_insert($a,"add",3);
print_r($a); //Array ( [0] => a [1] => b [2] => c [3] => add [4] => d )
【代碼我測試過沒有問題】
⑨ php中怎樣向關聯數組的指定位置插入另一個數組的元素
這個功能需求來自於網站運營策略,舉倒子:
在一個排行列表中,默認有以下元素,順序有一定的依據,假設是按下載次數排列。
$rows = array(
array('name'=>'QQ2010'),
array('name'=>'QQ2009'),
array('name'=>'迅雷5'),
array('name'=>'飛信2010'),
array('name'=>'Kugoo2010'),
array('name'=>'TTplayer'),
array('name'=>'Firefox4.0'),
array('name'=>'美圖秀秀'),
array('name'=>'360safe'),
array('name'=>'Chrome6')
);
如果有一個客戶[可牛殺毒]想買花10元/元下我們第二個位置,可以大家想,直接把QQ2009替換掉不就完事了嗎。不,那樣的話用戶體驗並不好,明明QQ2009是一個下載次數比較多的軟體,為什麼在列表中卻沒有了呢。
其實我們真正的需求是把QQ2009以下的單元都往後推,騰出第二個位置來給[可牛殺毒]。如果頁面中只能顯示10個單元,那倒霉的就是[Chrome6]了,誰叫他們付費買我們的位置呢,呵呵。
再說到程序原理上來吧,PHP要實現這個需求,挺簡單,用數組函數array_splice就可以了,具體用法參照PHP手冊。
給一個完整的例子吧:
<?php
$rows = array(
array('name'=>'QQ2010',),
array('name'=>'QQ2009',),
array('name'=>'迅雷5',),
array('name'=>'飛信2010',),
array('name'=>'Kugoo2010',),
array('name'=>'TTplayer',),
array('name'=>'Firefox4.0',),
array('name'=>'美圖秀秀',),
array('name'=>'360safe',),
array('name'=>'Chrome6',),
);
$pop = array(
'2'=>array('name'=>'可牛殺毒'),
'5'=>array('name'=>'金山詞霸2010'),
);
foreach($pop as $key=>$p){
array_splice($rows, $key-1, 0, array($p));
}
var_mp($rows);
?>
最近的結果是:
array(12) {
[0]=>
array(1) {
["name"]=>
string(6) "QQ2010"
}
[1]=>
array(1) {
["name"]=>
string(8) "可牛殺毒"
}
[2]=>
array(1) {
["name"]=>
string(6) "QQ2009"
}
[3]=>
array(1) {
["name"]=>
string(5) "迅雷5"
}
[4]=>
array(1) {
["name"]=>
string(12) "金山詞霸2010"
}
[5]=>
array(1) {
["name"]=>
string(8) "飛信2010"
}
[6]=>
array(1) {
["name"]=>
string(9) "Kugoo2010"
}
[7]=>
array(1) {
["name"]=>
string(8) "TTplayer"
}
[8]=>
array(1) {
["name"]=>
string(10) "Firefox4.0"
}
[9]=>
array(1) {
["name"]=>
string(8) "美圖秀秀"
}
[10]=>
array(1) {
["name"]=>
string(7) "360safe"
}
[11]=>
array(1) {
["name"]=>
string(7) "Chrome6"
}
}
⑩ php數組中插入新的元素
你好,看你意思是要在每個二維數組里插入新的數據
<?php
foreach($arrsas$each){
$each['name']='wer';
$each['salary']='wer';//wer的值,可以自己動態調用
}
?>
希望能解決你的問題,還望採納