1. php 數組
$a = array('11-12',3.5,'v:yes');
$b = array('11-12',3.5,'c:no');
$c = array('1-2',3.5,'v:yes');
$d = array('1-2',3.5,'c:no');
$f = array('1-2',3.5,'c:no');
$e = array($a,$b,$c,$d,$f);
$tmp = array();
foreach($e as $t) {
$k = $t[0].'_'.$t[1];
if(isset($tmp[$k])) {
if(end($tmp[$k]) != $t[2]) {
$tmp[$k][] = $t[2];
}
} else {
$tmp[$k] = $t;
}
}
//你要的結果
$arr = array_values($tmp);
//輸出
var_mp($arr);
2. php 數組問題
<?php
$hello=array(......);//原來的定義值,太長了沒敲
$newarray=array();
foreach($helloas$var1){
$uid=$var1['uid'];
$data=$var1['data'];
foreach($dataas$var2){
$newarray[]=array('uid'=>$uid,'title'=>$var2['title'],'contnet'=>$var2['content']);
}
}
var_mp($newarray);
?>
3. PHP數組分割
$a = "12@84@940@33@77";
$elements = explode("@", $a);
print_r($elements);
關於explode
格式:
array explode ( string separator, string string [, int limit] )
此函數返回由字元串組成的數組,每個元素都是 string 的一個子串,它們被字元串 separator 作為邊界點分割出來。如果設置了 limit 參數,則返回的數組包含最多 limit 個元素,而最後那個元素將包含 string 的剩餘部分。
如果 separator 為空字元串(""),explode() 將返回 FALSE。如果 separator 所包含的值在 string 中找不到,那麼 explode() 將返回包含 string 單個元素的數組。
如果 limit 參數是負數,則返回除了最後的 limit 個元素外的所有元素。此特性是 PHP 5.1.0 中新增的。
由於歷史原因,雖然 implode() 可以接收兩種參數順序,但是 explode() 不行。你必須保證 separator 參數在 string 參數之前才行。
4. php數組問題
用php內部函數array_rand,不多做解釋了:
array_rand -- 從數組中隨機取出一個或多個單元
這樣是返回一個包含隨機鍵名的數組,通過這個數組,獲取對應的值.
如下,給你寫了個函數,封裝了下array_rand,使之返回隨機元素
function getRandArray ($array,$num){
$key=array_rand($array,$num);
$new=array();
foreach($key as $v){
$new[]=$array[$v];
}
return $new;
}
print_r(getRandArray($arr1,300));
5. js中如何獲取php數組
js中獲取php數組的代碼如下:
function ajax_test(params){
$.ajax({
url:'./php/data_read.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(procts){
alert(procts);
}
});
}
6. 獲取PHP數組裡面的數據
大哥你這是啥數組呀,小弟愚昧木有見過,
$arr=array ("user" => array ( "created" => "2009-10-08 14:06:05" ,"nick" => "yang232431", "uid" => "" ) ) ;
var_mp($arr);
這才是數組呀,看你的好像是獲取的對象,你那個很有錯誤,自己再看看吧
7. PHP中如何更新數組
在PHP中更新數組的內容可以直接指定鍵名並且對該鍵名賦值。例如:
<?php
$php=array(「php」,」phpdo」,」1」);
$php[2]=「1」;
print_r($php);
?>
結果:Array([0]=>php[1]=>phpdo[2]=>1)
8. PHP數組問題
聽起來不可思議 實際上確實是真的
2比1要快 當數組長度增加到足夠大可測試
函數嵌套是建議盡量減少的 會影響速度的
從功能意義來說 2如果改成
$b=array_unique($a);
$c=sort($b);
那麼更有實際意義
php手冊里有句話可以在這里引用
「有一點很重要必須指出,用xxxx並不明顯 比用 xxxx慢,而且還提供了明顯更多的值。」
而2比1快 也提供明顯更多的值
我不知道 sort(array_unique($a));
提供了一個 bool結果有何意義
難道你僅僅考慮 這個數組是否可排序?我要的新的數組呢?
9. PHP數組裡面存放對象
樓上解釋正確,不過我補充一下。
既然初始化是在類聲明之後,那麼可以通過手動串列化和反串列化來達到目的。
保存的時候使用serialize來保存,提取恢復的時候使用unserialize來恢復。
當然,這個還有一個要注意的地方,需要保存的對象最好是只包含數據,意思是,不要有資料庫連接資源、文件資源之類的,如果包含這些,串列和反串列的結果都是一個int 0,反串列的時候可能不能正常工作。
至於對象串列反串列的一些可定製的功能,可以參考幫助文檔的這個部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通過定義魔術函數__sleep __wakeup來實現。
10. PHP數組查詢
你這個數組是默認的數字索引模式,索引是從0開始計算的,你的問題可以使用array_search這個函數來查找對應的值是不是存在,如果存在返回所在索引,不存在返回false,例子:
<?php
$tian=array('','甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$key=array_search('辛',$tian);
if($key!==false)
echo'辛這個值在數組$tian中的索引是'.$key;
else
echo'辛這個值在數組$tian中不存在';
?>