『壹』 php判斷數組是關聯數組還是數值數組
具體思路:獲取數組的所有鍵:「array_keys()」
遍歷所有鍵判斷是否按照順序從0開始每個增一。
具體方法如下:
function _checkAssocArray($arr)
{
$index = 0;
foreach (array_keys($arr) as $key) {
if ($index++ != $key) return false;
}
return true;
}
邏輯很簡單,關聯數組的鍵不會全部都按照:0,1,2,3…的順序遞增,如果它確實這樣,那麼和數值數組沒有任何區別,相同處理即可。
網上有另外一種思路:將數組所有的鍵與一個(0,數組長度)的新數組求差,
『貳』 php數組的基本語法 : PHP 數組
數組能夠在單獨的變數名中存儲一個或多個值。
實例
數組在單個變數中存儲多個值:
<?php
$cars=array("Volvo","BMW","SAAB");
echo
"I
like
"
.
$cars[0]
.
",
"
.
$cars[1]
.
"
and
"
.
$cars[2]
.
".";
?>
什麼是數組?
數組是特殊的變數,它可以同時保存一個以上的值。
如果您有一個項目列表(例如汽車品牌列表),在單個變數中存儲這些品牌名稱是這樣的:
$cars1="Volvo";
$cars2="BMW";
$cars3="SAAB";
不過,假如您希望對變數進行遍歷並找出特定的那個值?或者如果您需要存儲
300
個汽車品牌,而不是
3
個呢?
解決方法是創建數組!
數組能夠在單一變數名中存儲許多值,並且您能夠通過引用下標號來訪問某個值。
在
PHP
中創建數組
在
PHP
中,
array()
函數用於創建數組:
array();
在
PHP
中,有三種數組類型:
索引數組
-
帶有數字索引的數組
關聯數組
-
帶有指定鍵的數組
多維數組
-
包含一個或多個數組的數組
PHP
索引數組
有兩種創建索引數組的方法:
索引是自動分配的(索引從
0
開始):
$cars=array("Volvo","BMW","SAAB");
或者也可以手動分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
下面的例子創建名為
$cars
的索引數組,為其分配三個元素,然後輸出包含數組值的一段文本:
實例
<?php
$cars=array("Volvo","BMW","SAAB");
echo
"I
like
"
.
$cars[0]
.
",
"
.
$cars[1]
.
"
and
"
.
$cars[2]
.
".";
?>
獲得數組的長度
-
count()
函數
count()
函數用於返回數組的長度(元素數):
實例
<?php
$cars=array("Volvo","BMW","SAAB");
echo
count($cars);
?>
遍歷索引數組
如需遍歷並輸出索引數組的所有值,您可以使用
for
循環,就像這樣:
實例
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo
$cars[$x];
echo
"<br>";
}
?>
PHP
關聯數組
關聯數組是使用您分配給數組的指定鍵的數組。
有兩種創建關聯數組的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
隨後可以在腳本中使用指定鍵:
實例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo
"Peter
is
"
.
$age['Peter']
.
"
years
old.";
?>
遍歷關聯數組
如需遍歷並輸出關聯數組的所有值,您可以使用
foreach
循環,就像這樣:
實例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age
as
$x=>$x_value)
{
echo
"Key="
.
$x
.
",
Value="
.
$x_value;
echo
"<br>";
}
?>
『叄』 php 怎麼判斷數組是否都是數值
php 中 判斷數組中是否有值,可以先把一個數組賦值給一個變數,然後用empty函數判斷,這個變數是否為空,如果為空則代表數組沒有值,如果為非空則代表有值。
『肆』 php怎麼給數組賦值
PHP數組賦值方法如下:
<?php
//數值數組
$a=array();
$a[]="aaaa";
$a[]="bbbbbbb";
var_mp($a);
//關聯數組
$b=array();
$b['id1']="aaaa";
$b['id2']="bbbbbbb";
var_mp($b);
//數組聲明並賦值(關聯數組和數值數組同時存在)
$c=array(1,2,"xxxx",'sex'=>'男');
$c['id1']="aaaa";
$c['id2']="bbbbbbb";
var_mp($c);
//數組變數名稱也可以不存在,直接給變數賦值
$d['a']=1;
$d['b']=2;
var_mp($d);
?>
『伍』 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));
『陸』 php 如何定義一個數組
php中定義數組的方法:
1、PHP定義數組的格式:
數組名=array();
如:$aa=array();//這樣就定義了一個數組,
之後給元素賦值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
2、PHP輸出數組的方法:
foreach($aa as $val)
{
echo$val;
}
也可以在定義數組時直接賦值
$aa=array(0=>"9016",1=>"9017";2=>"9018");
3、PHP的數組還可以用字元做下標,不一定要數字:
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="[email protected]";
也可以這樣
$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");
將一個一維數組的元素也定義為數組,就是一個二維數組,
$aa=array(0=>"a1",1=>"a2");
$bb=array(0=>"b1",1=>"b2");
$cc=array(0=>$aa;1=>$bb);此時,$cc[0]也是一個數組,$cc[1]也是一個數組,$cc就是一個二維數組。
同理,三維,四維數組也可以繼續定義下去。
4、數組的元素不僅於數字和字元串,可以是類的對象。
『柒』 PHP數組:什麼是數組
分為這幾類
1、添加數組元素
PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數組及其大小,相反,你可以同時聲明並填充數組。
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' =>
'Juneau',
'Arizona' => 'Phoenix'
); 額外的數組元素可以象下面這樣追加:
$capitals['Arkansas'] = 'Little Rock';
如果你正在處理數字索引數組,你可能想使用顯示命名的函數前置和追加元素,如array_push()和array_unshift()函數,但這些函數不能操作關聯數組。
2、刪除數組元素
如果要從數組中刪除一個元素,請使用unset()函數,如:
unset($capitals['California']);
使用數字索引數組時,刪除數組元素的辦法更多,更靈活,可以使用array_shift()和array_pop()函數分別從數組的開頭和末尾刪除一個元素。
3、交換鍵和值
假設你想創建一個名叫$states的新數組,使用州府作為索引,使用州名作為關聯值,使用array_flip()函數很容易完成這個任務。
『捌』 php 數值與數組中的值進行比較獲取數組相對的KEY值:
這個可以取巧,先把這個數插進數組,然後數組排序,然後獲得這個數的下標,-1就是相對位置的值前面26的值,27本來下標就是源數組中的後一個
死一點的辦法就是for循環對比值了,關鍵比對if:
if(arr[i]<27 && arr[i+1]<27) continue;
if(arr[i]<27 && arr[i+1]>27) echo 相對位置在i,i+1之間 ;
具體自己寫啊
『玖』 PHP判斷數組是關聯數組還是數值數組
判斷一個PHP數組是關聯數組還是數字數組的函數
function is_assoc($arr) {
return array_keys($arr) !== range(0, count($arr) - 1);
}
測試
$arr = array(1, 2, 3, 4, 5, 6, 7);
print is_assoc($arr); // 輸出false
$arr = array("foo" => "bar", "bar" => "foo");
print is_assoc($arr); // 輸出true
$arr = array("foo" => "bar", 3, 4, 5);
print is_assoc($arr); // 輸出true
『拾』 PHP里,如何獲取數值數組的合
用array_sum() ,將數組中的所有值的和以整數或浮點數的結果返回。
$a = array(2, 4, 6, 8);
echo array_sum( $a );