導航:首頁 > 編程語言 > php參數獲取數組

php參數獲取數組

發布時間:2025-07-28 11:34:00

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框架中,獲取鏈接參數可以通過以下幾種方法實現:

  1. 使用$_GET超全局數組

    • 方法:如果你通過URL傳遞參數,如http://example.com/index.php?url=http%3A%2F%2Fwww..com,你可以使用$_GET['url']來獲取傳遞的URL參數。但注意,此時直接獲取可能只會得到部分字元串,這是因為URL編碼和解碼的問題。
    • 解決方案:確保傳遞的URL參數經過正確的URL編碼,並在接收端使用urldecode函數解碼。
  2. 使用ThinkPHP的I函數

    • 方法:ThinkPHP提供了一個便捷的I函數來獲取請求參數,你可以使用$url = I來獲取URL參數。
    • 注意事項:同樣需要注意URL編碼和解碼的問題。
  3. 確保URL完整性

    • 方法:在構建傳遞URL的鏈接時,確保使用urlencode對URL進行編碼,如?url=urlencode。
    • 避免格式問題:避免使用如/a/b等格式傳遞參數,這可能導致參數解析不完整。
  4. 使用parse_url和$_SERVER['HTTP_REFERER']

    • 方法:在某些情況下,你可能需要分析HTTP請求的其他部分來獲取完整的URL。可以使用parse_url來分析引用頁面的URL。但注意,$_SERVER['HTTP_REFERER']可能為空或不可信,因為它是由客戶端瀏覽器提供的。
  5. 處理特殊字元

    • 問題:在URL中包含特殊字元時,可能會導致解析問題。
    • 解決方案:在傳遞URL前,可以使用字元串替換函數將特殊字元替換為其他不易引起解析問題的字元,然後在接收端再替換回來。例如,url=str_replace。

綜上所述,獲取鏈接參數時,需要注意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

附圖:

閱讀全文

與php參數獲取數組相關的資料

熱點內容
資料庫的伺服器如何開啟 瀏覽:954
電腦全盤自檢命令 瀏覽:719
自相關演算法提升靈敏度 瀏覽:762
無充值系統的伺服器叫什麼 瀏覽:865
真空壓縮袋哪裡買 瀏覽:583
買二手車上任車主未完成解壓手續 瀏覽:918
砌築和粉刷用黃沙水泥計演算法 瀏覽:979
主力籌碼指標公式源碼貼圖 瀏覽:666
金立手機怎麼樣解散文件夾 瀏覽:824
他那麼撩最哪個app可以看 瀏覽:192
購買雲伺服器伺服器 瀏覽:38
安卓手機屏幕拍照怎麼設置 瀏覽:326
打地鼠android代碼 瀏覽:307
本地加密卡哪個好 瀏覽:882
java獲取伺服器mac地址 瀏覽:325
伺服器sv是什麼意思 瀏覽:952
職高學編程有用嗎 瀏覽:995
小學數學教師哪個app好用 瀏覽:80
macprophp開發環境 瀏覽:21
麻省理工學院設計加密貨幣 瀏覽:217