2023-03-15 08:07来源:m.sf1369.com作者:宇宇
手册
在 PHP 4 中,var 变量的值只能初始化为常量。用非常量值初始化变量,需要一个初始化函数,该函数在对象被创建时自动被调用
<?php
/* PHP 4 中不能这样用 */
class Cart {
var $todays_date = date(Y-m-d);
var $name = $firstname;
var $owner = 'Fred ' . 'Jones';
/* 不过包含有常量的数组可以 */
var $items = array(VCR, TV);
}
/* 应该这样进行 */
class Cart {
var $todays_date;
var $name;
var $owner;
var $items = array(VCR, TV);
function Cart() {
$this->todays_date = date(Y-m-d);
$this->name = $GLOBALS['firstname'];
/* etc. . . */
}
}
?>
你这个是PHP吗?我也看不明白,PHP没有endif、endforeach、endwhile这些东西哦。 假如是你写错的一个PHP程序话,试着回答你补充的问题: $boo = false; //声明一个布尔变量$boo,初值为false 这个布尔值变量是指哪个变量呢? 这个变量就是$boo foreach($arr as $value)这循环数组当中的$value的值是指什么意思? 正确的用法是foreach($arr as $value){....}这样会产生一个循环,把数组$arr的每个元素值分别赋予$value变量,然后分别执行{...}里面的语句。假如$arr有三个元素,值为a1,a2,a3,那么循环执行三次,每次执行时$value的值不同,分别是a1,a2,a3 if(!$boo): //判断变量$boo值 这里的布尔值是指哪里的变量呢? 这就是判断布尔变量$boo,如果$boo值为true就不执行if后面的语句,是false就执行。布尔变量只有true和false两种取值可能,没有其它的了 echo $ss. ; //如果$boo为假,则说明当前变量$ss为质数,输出质数 这个你没有提出问题,我就回答:你的理解正确 $arr[count($arr)] = $ss;//同时存到数组中 怎么进行保存的? 如果$arr里面有3个元素,那么count($arr)的结果3,但是这三个元素的表示是$arr[0]、$arr[1]、$arr[2],现在对$arr[3]进行赋值,实际上就是给数组增加一个元素,值为$ss
。。。两个类中的变量怎么可以公用啊
要是想让两个类中的变量公用 就要在外面声明一个 如:
class one {
public $a =123;
public function test() {
echo '这里是方法中给变量a赋值,这样也可以给a赋值完,在派生类中能得到值';
$this -> a = 'hehe';
}
}
class two extends one {
echo $a; //结果是 123 这样才可以
}
可以使用str_split将字符串转为数组,str_split用法如下:
str_split — 将字符串转换为数组
array str_split( string $string [, int $split_length = 1] )string:输入字符串。
split_length:每一段的长度。
返回值
如果指定了可选的 split_length 参数,返回数组中的每个元素均为一个长度为 split_length的字符块,否则每个字符块为单个字符。
如果 split_length 小于 1,返回 FALSE。如果 split_length 参数超过了 string 超过了字符串 string 的长度,整个字符串将作为数组仅有的一个元素返回。
使用示例:
$str = Hello World;
$arr = str_split($str);
print_r($arr);以上代码将输出
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => W
[7] => o
[8] => r
[9] => l
[10] => d
)
数组在PHP中包含2种表现,
一种是普通数组,定义方式有二种,
第一:
$a = array(aa,bb,cc)
第二:
$a[] = aa;
$a[] = bb
$a[] = cc;
一般用数组遍历的方式可以打印出所有数据,也可以使用数组的位标(从0开始计算)自定义打印,比如:
$a[0]的值就是aa,$a[1]的值是bb
数组遍历自己搜索下,也是2种方式
另外是别名数组,定义也是2种
第一:
$a = array(aa=> 11,bb=>22)
第二:
$a[aa] = 11;
$a[bb] = 22;
使用数组的位标在别名数组就不行了,必须用别名
$a[0]就取不到值了,$a[“aa”]才能取到值11
数组遍历其中foreach有点不一样,自己搜索下