⑴ 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
附图: