扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
成都创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都做网站、网站制作、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元陆河做网站,已为上家服务,为陆河各地企业和个人服务,联系电话:18980820575
?php
$content = '这里有十个字,这里有十个字,这里有十个字,这里有十个字,这里有十个字,这里有十个字,这里有十个字,这里有十个字,这里有十个字';
function getRow($c, $r){
$result = array();
$s = 0;
$c = explode(',', $c);
$count = count($c);
$countPreRow = $count / $r;
for($j=0;$j$r;$j++){
$pop = array();
for($i=0;$i$countPreRow;$i++){
array_push($pop, array_pop($c));
}
array_push($result, $pop);
}
return $result;
}
//-------------------------------------------------------------------------测试,分2行
$r = getRow($content, 2);
for($i=0;$icount($r);$i++){
echo '第'.($i + 1).'行:';
for($j=0;$jcount($r[$i]);$j++){
echo $r[$i][$j].' ';
}
echo 'br/';
}
?
$arr=array(
array(3,2),
array(8,56),
);
var_dump($arr[1][1]);
//输出:56
for:
for($i=0;$icount($sss);$i++){
echo $sss[$i]['aid']."br";
}
echo "hr";
foreach:
foreach($sss as $v){
echo $v['aid']."br";
}
echo "hr";
while:
$i = 0;
while($icount($sss)){
echo $sss[$i]['aid']."br";
$i++;
}
直接两个 foreach 是不符合楼主的需求的。
$arr=Array( array('123332' = '123332','123333' = '123333'), array('123332' = 'Hockey Stick','123333' = 'Hockey Stick2'), array('123332' = 33.25 , '123333' = 33.25));//$arr 为你要查询的数组foreach($arr[0] as $key=$val){ //循环查找每一类数据。 for($i=0;$icount($arr);$i++){ $narr[$val][]=$arr[$i][$key]; }}print_R($narr);
$smarty - assign("newsreco",$newsreco);
"$newsreco"这里加上双引号的话,值还没有传递就直接被展开成Array了。
另外如果可以用foreach的时候,还是用foreach比较好,section的效率比foreach低很多,这不是一个喜欢与否的问题。
具体分析如下:
先来看看下面程序运行结果:
代码如下:
$numb=array(
array(10,15,30),array(10,15,30),array(10,15,30)
);
echo
count($numb,1);
A.3
B.12
C.6
D.9
答案是B
count函数中如果mode被设置为
COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12)。如果不设置mode默认为0
。不检测多维数组(数组中的数组)(结果3)。
首先遍历的是外面的数组array得出有两个元素("color1″,"color2″,"color3″)
为3
再遍历("color1″,"color2″,"color3″)数组得出的是9个元素 为9
结果就是3+9=12
参考示例:
代码如下:
?php
$fruits = array (
array (1,
2,null,null, 5, 6),
array (1, 2,null,null, 5,
6),
);
echo(count($fruits[0]));
?
如果用其它方式定义的数组,比如:
代码如下:
?php
$fruits[0][0]=1;
$fruits[0][3]=1;
$fruits[0][4]=1;
echo(count($fruits[0]));
?
这样那就输出3,因为php中的数组不要求索引必须连续,参考手册上有如下一段:
数组:
PHP 中的数组实际上是一个有序图。
图是一种把 values 映射到 keys
的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。
因为可以用另一个
PHP 数组作为值,也可以很容易地模拟树。
实例:
获得二维或多维数组的第一维的长度,这是个常用的程序判断,比如读取的数组是一个二维数组:
代码如下:
?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)
?
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流