导航:首页 > 编程语言 > 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参数获取数组相关的资料

热点内容
android视频帧率 浏览:554
javahtml5图片上传 浏览:485
天津地面数字电视加密 浏览:650
以色列计划加密货币 浏览:179
服务器交换模块如何工作 浏览:283
苹果加密聊天软件哪个好用 浏览:769
android字体颜色渐变 浏览:461
怀旧服服务器不兼容怎么办 浏览:365
阿里巴巴和华为程序员 浏览:17
一键加密软件怎么卸载 浏览:791
饿了吗送餐用什么app 浏览:760
pythonai开源 浏览:225
加密货币受政府控制么 浏览:913
三维测试图算法 浏览:492
贷款还完后多久能解压 浏览:938
程序员卖了一套房子 浏览:426
如何清空android 浏览:101
androidapi18 浏览:283
单片机水温控制 浏览:871
linux操作系统版本查询 浏览:339