⑴ php獲取數組長度的方法(有實例)
在PHP中,獲取數組長度的方法非常直觀,主要依賴於`count()`和`sizeof()`這兩個函數。它們均能有效地統計一維數組元素的數量,返回值為0表示數組為空。盡管手冊上提到`sizeof()`是`count()`的別名,但在處理多維數組時,`count()`的第二個參數起了關鍵作用。默認情況下(參數為0或COUNT_NORMAL),`count()`不檢測多維數組,但如果需要遞歸統計,參數應設置為1(或COUNT_RECURSIVE)。
例如,對於二維數組`$arr`,若直接使用`count($arr)`,結果可能因PHP版本不同而異。為確保正確處理多維數組,可以添加一個條件判斷,如下所示:
php
if (is_array($arr) && count($arr, COUNT_NORMAL) > 0) {
// 處理數組內容
} else {
// 處理空數組或非數組情況
}
// 測試代碼
$arr = array(
0 => array('title' => '新聞1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
1 => array('title' => '新聞2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
);
echo '不統計多維數組:' . count($arr, 0) . '
';
echo '統計多維數組:' . count($arr, 1);
通過設置不同的參數,我們可以准確地獲取不同情況下的數組長度,無論是簡單的一維數組還是復雜多維數組。
⑵ url-thinkphp如何獲取鏈接參數求大神支招
在ThinkPHP框架中,獲取鏈接參數可以通過以下幾種方法實現:
使用$_GET超全局數組:
使用ThinkPHP的I函數:
確保URL完整性:
使用parse_url和$_SERVER['HTTP_REFERER']:
處理特殊字元:
綜上所述,獲取鏈接參數時,需要注意URL的編碼和解碼、參數的傳遞格式以及特殊字元的處理。通過合理使用ThinkPHP提供的函數和PHP內置函數,可以准確地獲取和處理URL參數。
⑶ php 獲取數組鍵名和鍵值
array_keys、array_values兩個函數專門執行這一的功能~~~
例如:
<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>
會輸出:
Array
(
[0] => XL
[1] => gold
)
再例如:
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
以上常式會輸出:
Array
(
[0] => 0
[1] => color
)
Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array
(
[0] => color
[1] => size
)
⑷ php獲取數組長度的方法(有實例)
在php中獲取數組長度方法很簡單,php為我們提供了兩個函數可以計算一維數組長度,如count,sizeof都可以直接統計數組長度哦,下面我們來看幾個實例吧。
php如何獲取數組的長度,使用php函數count(),或是sizeof()
例如:
復制代碼
代碼如下:
$arr
=
Array('0','1','2','3','4');
echo
count($arr);
//
輸出
5
$arr
=
array('A','B','C');
echo
sizeof($arr);
//輸出3
sizeof()和count()具有同樣的用途,這兩個函數都可以返回數組元素個數.可以得到一個常規標量變數中的元素個數,如果傳遞給這個函數的數組是一個空數組,或者是一個沒有經過設定的變數,返回的數組元素個數就是0;
兩函數功能一樣,手冊上講,sizeof()是函數count()的別名。
那麼多維數組長度要怎麼統計呢?繼續看例子
比如你讀取的數組是一個二維數組:
復制代碼
代碼如下:
<?php
$arr=array(
0=>array('title'
=>
'新聞1',
'viewnum'
=>
123,
'content'
=>
'ZAQXSWedcrfv'),
1=>array('title'
=>
'新聞2',
'viewnum'
=>
99,
'content'
=>
'QWERTYUIOPZXCVBNM')
);
?>
如果你想統計數組$arr的長度,也就是說該二維數組只有兩條新聞,你想要的數字也是2,但是如果使用count($arr)不同版本的php,統計的結果是不一樣的;
後來在php手冊中發現,count函數還有第二個參數,解釋如下:
count函數有兩個參數:
0(或COUNT_NORMAL)為默認,不檢測多維數組(數組中的數組);
1(或COUNT_RECURSIVE)為檢測多維數組,
所以如果要判斷讀取的數組$arr是不是有新聞信息,就要這樣寫了:
復制代碼
代碼如下:
<?php
if(is_array($arr)
&&
count($arr,COUNT_NORMAL)>0
)
{
.....
}
else
{
.....
}
?>
你可以使用這樣的代碼來測試該函數:
復制代碼
代碼如下:
<?php
$arr=array(
0=>array('title'
=>
'新聞1',
'viewnum'
=>
123,
'content'
=>
'ZAQXSWedcrfv'),
1=>array('title'
=>
'新聞2',
'viewnum'
=>
99,
'content'
=>
'QWERTYUIOPZXCVBNM')
);
echo
'不統計多維數組:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo
"<br/>";
echo
'統計多維數組:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>
⑸ php 如何截取數組
php截取數組的方法是使用 array_slice() 函數。
array_slice(array,offset,length,preserve)
其中:
offset 數值。規定取出元素的開始位置。如果是正數,則從前往後開始取,如果是負值,從後向前取 offset 絕對值。
length 可選。數值。規定被返回數組的長度。如果是負數,則從後向前,選取該值絕對值數目的元素。如果未設置該值,則返回所有元素。
例子 1
例子:
$a = array(
0 => "Jack",
1 => "Tom",
2 => "Mary",
3 => "Bird");
$b = array_slice($a,1,2);
print_r($b);
結果顯示:Array
(
[0] => Tom
[1] => Mary
)
⑹ php 裡面怎麼獲取數組裡面的數組的值
$arr=array("PHP","java","C++");
var_mp($arr);
//獲取數組中元素的值如下:
foreach($arras$key=>$value{
echo$value;//輸出即可
}
瀏覽器下看到的如下:
array (size=3)
0 => string 'PHP' (length=3)
1 => string 'java' (length=4)
2 => string 'C++' (length=3)
獲取的結果
PHPjavaC++
⑺ php 如何獲取時間數組高手請進!
<?php
$start_day=1;//表示從該年的第一天開始計數
$end_day=365+366;//這兩年一共有多少天,樓主需要的話自己寫個計算方法吧
$end_day=80;//為了顯示,以80天為例
$date_array=array();
for($day=$start_day;$day<=$end_day;$day++){
$temp_date=date("Y-m-d",mktime(0,0,0,1,$day,2010));//這個是將從2010-1-1開始的80天,依次存入數組
array_push($date_array,$temp_date);
}
print_r($date_array);//輸出
?>
這個演算法的關鍵在於mktime(0,0,0,1,$day,2010)這一方法,他是可以「自動校正越界的輸入」,就是把2010-1-32變成2010-2-1,牛逼啊。
樓主可以自己查下,網址附在下面。
date函數網址
http://www.w3school.com.cn/php/func_date_mktime.asp
附圖: