三个php问题

(1)
<?php
$s='12345';
$s[$s[1]]='2'; //请解释这里是什么意思?
echo $s;
?>

(2)
$arrOne=array(0,1);
$arrTwo=array(3,4);
$x=$arrOne+$arrTwo;
//$x的值是多少?为什么?

(3)
//索引应该从第一个参数指定的位置开始,这里的结果是? 为什么?
<?php
$A=array-fill(-5,3,"Hello");
for($i=0; $i<5; $i++){
echo"\$A[$i]=".$A[$i]." ";
}
?>

$s='12345';
$s[$s[1]]='2'; //$s[1]是取字符串$s中的第一个字符即"2",注意下标从0开始,所以$s[$s[1]]即是$s[2],就是把第2个字符替换为2(赋值为2)
echo $s;
$arrOne=array(0,1);
$arrTwo=array(3,4);
$x=$arrOne+$arrTwo;
//数组键名为数字键名时,使用“+”合并数组则会把最先出现的值作为最终结果返回
// 结果为:
array(2) {
[0]=>
int(0)
[1]=>
int(1)
}
$A=array-fill(-5,3,"Hello");// 这行错误吧
for($i=0; $i<5; $i++){
echo"\$A[$i]=".$A[$i]." ";// 这里后两个元素不存在
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-12
<?php
$s='12345';
$s[$s[1]]='2';
//这里要分开来解释
$s[1]的值是2,因为php可以把字符串看做是有索引的,索引值从0开始,那么这个字串中5所对应的索引是$s[4].
既然$s[1]的值是2,那么$s[$s[1]]就相当于$s[2]了,$s[2]原来的值是3,现在给他重新赋值,让他等于2,最后$s会变成12245

echo $s;
?>

(2)
$arrOne=array(0,1);
$arrTwo=array(3,4);
$x=$arrOne+$arrTwo;
//$x的值是多少?为什么?
$x的值是array,array就是数组,能够参与数学运算的只有整型,浮点型,而你要让数组加数组肯定不出正确结果了.如果非要加总的话,你必须要拆分数组然后分别加总才行

(3)
//索引应该从第一个参数指定的位置开始,这里的结果是? 为什么?
<?php
$A=array-fill(-5,3,"Hello");//php中没有fill这个函数,这一行一定是错的.
for($i=0; $i<5; $i++){
echo"\$A[$i]=".$A[$i]." ";
}
?>

其实通过上边三个问题不难看出,你对array很迷糊,你只要把握以下几点就好了
$a="abc";
相当于
$a[0]="a";
$a[1]="b";
$a[2]="c";
也就是说,索引是从0开始的(如果你自己强制性指定了索引另当别论).
然後就是数组拆分
$aa=Array("a"=>1,"b"=>"b","c"=>array(1,2));
Foreach($aa as $k=>$v){
Echo $k,':',$v,'<br>';
}
Foreach($aa as $Arr2){
$Arr1[]=$Arr2[0];
}
最後你要知道array都有哪些常用的函数,这个你可以看这里

参考资料:

第2个回答  2012-08-06
$A=array_fill(-5,3,"Hello");这行并不错误,难道你没看php手册中怎么样解释array_fill函数的吗?

array_fill ( int $start_index , int $num , mixed $value )
用 value 参数的值将一个数组填充 num 个条目,键名由 start_index
参数指定的开始。注意 num 必须是一个大于零的数值,否则 PHP 会发出一条警告。

这些个都是能查到的。
培养自己解决问题的能力吧。追问

那键值从-5开始有不对吧?

追答

可以的。数组的键值默认情况是0,1,2,3,4......,你也可以用像-5这样的值作为键值。
我觉得你应该看看数组是怎样的定义。基础知识很重要,不要忽视。
你没有运行你的程序吗?
$A的内容是:
array(
-5 =>'Hello',
0 =>'Hello',
1 =>'Hello'
)
起始键值是-5,由于$num的值是3,所以要在加上两个数组键值,所以就从默认的0,1开始了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网