⑴ php 赋值
假定一个类:test
class test
{
private $name;
function __construct($name)
{
$this->name = $name; //这句的意思就是在对象初始化的时候将值赋给受保护的变量$name,当然我一般会把后面参数的$name使用$pname代替,这样不会被混淆了
}
}
$test = new test('Test_name');
你应该多看些关于面向对象设计方面的书,这样或许会好些!
Good luck!
⑵ 为什么PHP对象的属性不能给它赋值为对象和资源性的变量
可以的。。只是在定义类属性的时候不可以。
因为在声明属性的时候,不能书写表达式。
实例化好的对象属性,是可以随意赋值的。除非是 __set 和 __get 方法制作的“伪属性”,在方法里加了判断。
⑶ PHP 类里赋值一般用哪个函数,如何分辨
construct
通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值。
构造方法的在类中的声明格式
function __constrct([参数列表]){
方法体//通常亩李用来对成员属性进行初始化赋值
}
__get
这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回拦耐毕获取的属性值,这个方法不用我们手工的去调用,因为我们也可以把这个方法做成私有的方法,是在直接获取私有属性的时候对象自动调用的。因为私有属性已经被封装上了,是不能直接获取值的(比如:“echo
$p1->name”这样直接获取是错误的),但是如果你在类里面加上了这个方法,在使用“echo
$p1->name”这样的语句直接获取值的时候就会自动调用__get($property_name)方法,将属性name传给参数$property_name,通过这个方法的内部执行,返回我们传入的私有属性的值。如果成员属性不封装成私有的,对简芹象本身就不会去自动调用这个方法。
⑷ php类属性的赋值问题
cache_factory(这个是类名)::$cache_factory(这个是类内的私有静态属性,该属性的值是cache_factory类的实例)->cache_config=$cache_config;其他不需要解释了吧
不过这个代码很烂,不建议把这个当作参考资料。帮你修改了一下,看这个吧
final class cache_factory {
private static $instance;
protected $cache_config = array();
protected $cache_list = array();
protected function __construct(array $configs) {
$this->cache_config = $configs;
}
public static function get_instance(array $cache_config = null) {
if (! self::$instance instanceof cache_factory) {
if (is_null($cache_config)) {
die('无效的初始化设置');
}
self::$instache = new cache_factory($cache_configs);
}
return self::$instance;
}
}
⑸ 在php5中对象的赋值是怎么回事 $a=new Class() $b=$a 等于号是指向同一内存地址,还是重新开内存
当类生成一个实例(对象)的时候,返回值$a并不是对象本身,而只是对象的一个id(或者资源句柄),所以,当$a被赋值给$b的时候,$b也指向了这个对象。当对$a初始化的时候,$b也被初始化了。当$a被销毁(=null)的时候,因为对应圆腊的对象还有一个句柄存在($b),所以对象并不会被销毁,穗腔汪析构函数也不会被触发。如果是$b=&$a 这样是指猜仔向同一内存 当$a=null 的时候 $b 也为null
⑹ PHP实现删除多重数组对象属性并重新赋值的方法
本文实例讲述了PHP实现删除多重数组对象属性并重新赋值的方法。分享给大家供大家参考,具体如下:
实例:sphinx搜索出来的结果,要去掉某个属性值:
$cl
=
new
SphinxClient
();
$query
=
$cl->Query
(
$keyword,
$index
);
方法一,直接删除属性:
foreach
(
$query['matches']
as
$k
=>
$val
)
{
unset($query['matches'][$k]["attrs"]["content"]);
unset($query['matches'][$k]["attrs"]["remarks"]);
}
方法二,把对应属性值设置为空或其他需要的值:
foreach
(
$query['matches']
as
$k
=>
$val
)
{
$query['matches'][$k]["attrs"]["content"]
=
'';
$query['matches'][$k]["attrs"]["remarks"]
=
'';
}
注:要操作多重数组的关键是foreach循环里用
as
$k
=>
$val
取得具体元素的下标,否则无法操作。
另:php使用sphinx搜索可参考
php启用sphinx全文搜索的实现方法
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
⑺ php如何赋值
PHP赋值有多种情况:
直接赋值:赋值符号"=" ,赋值符号前面的是变量,后边的是赋的值;示例如下:
<?php
$a=10;
$b='';
?
传递赋值:将一个表达式的值赋予一个变量(改变其中一个变量的值,不会影响到另一个变量的值);示例如下:
<?php
$num1=100;
$num2=$num1;//传值赋值后,$num2的值为:100
?
引用赋值:赋值符号"&",当新的变量引用了原始变量的值后,如果改变新的变量将影响到原始变量。示例如下:
<?php
$a=3;
$b=5;
$a=&$b;//把$b的地址赋值给$a,这时$a的值也是5了。如果修改$b的值,那么$a的值也会发生变化。
?>
⑻ php对象属性赋值
你这样使用时不符合oop的规范的,成员变量在最开始只能简单的定义,如果你要实现上述的代码应该这样:
class Test{
public $strtodate = 0;
public function __construct() {
$this->$strtodate = strtotime('2012-01-22');
}
}
$test = new Test();
echo $test->strtodate;