php给对象赋值
❶ 为什么php对象的属性不能给它赋值为对象和资源性的变量
可以的。。只是在定义类属性的时候不可以。
因为在声明属性的时候,不能书写表达式。
实例化好的对象属性,是可以随意赋值的。除非是 __set 和 __get 方法制作的“伪属性”,在方法里加了判断。
❷ 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对象属性赋值
你这样使用时不符合oop的规范的,成员变量在最开始只能简单的定义,如果你要实现上述的代码应该这样:
class Test{
public $strtodate = 0;
public function __construct() {
$this->$strtodate = strtotime('2012-01-22');
}
}
$test = new Test();
echo $test->strtodate;
❹ php怎么根据选择动态赋值
1.先将$txt变量传至页面的js变量中保存
2.页面元素需要定义5个radio标签,每一个标签的value值对应不同的$txt
3.用JavaScript抓取radio的click事件,根据点中的对象显示value值
❺ 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的值也会发生变化。
?>
❻ ThinkPHP遇到的类私有变量赋值问题
Home\Common\Map.class.php文件
<?php
namespace Home\Common;
class Map {
static function getName() {
$map = array(
'0' => '张三',
'1' => '李四',
'2' => '王五',
'3' => '赵六'
);
return $map;
}
}
Home\Controller\IndexController.class.php文件
<?php
namespace Home\Controller;
use Think\Controller;
use Home\Common\Map as map;
class IndexController extends Controller {
private $sex = array(0,1);
private $name = map::getName(); // 写法1
// 测试 静态函数 类私有变量赋值
public function getName() {
$name = map::getName(); // 写法2
var_mp($name);
}
}
其中,写法1出错,显示:
写法2显示:
如果想私有变量赋值,可以构造函数赋值,即在__construct()里赋值:
$this->name = map::getName(); // 注意千万别写成$this->$name
类的变量成员叫做“属性”,或者叫“字段”、“特征”。属性声明是由关键字 public , protected 或者 private 开头,然后跟一个普通的变量声明来组成。 属性中的变量可以初始化,但是初始化的值必须是常数 ,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。
在类的成员方法里面,可以用 -> (对象运算符):$this -> property(其中 property 是该属性名)这种方式来访问 非静态属性 。 静态属性 则是用 :: (双冒号):self::$property 来访问。
当一个方法在类定义内部被调用时,有一个可用的伪变量 $this。$this 是一个到主叫对象的引用(通常是该方法所从属的对象,但如果是从第二个对象 静态 调用时也可能是另一个对象)。
具体请参考:http://php.net/manual/zh/language.oop5.properties.php
❼ PHP对象赋值给变量的两种方式的区别,一般赋值和引用赋值
把变量存储值当成文件存储内容来理解,普通赋值就是文件复制,引用赋值就是建立快捷方式,明白了吧。
❽ 在php5中对象的赋值是怎么回事 $a=new Class() $b=$a 等于号是指向同一内存地址,还是重新开内存
当类生成一个实例(对象)的时候,返回值$a并不是对象本身,而只是对象的一个id(或者资源句柄),所以,当$a被赋值给$b的时候,$b也指向了这个对象。当对$a初始化的时候,$b也被初始化了。当$a被销毁(=null)的时候,因为对应的对象还有一个句柄存在($b),所以对象并不会被销毁,析构函数也不会被触发。如果是$b=&$a 这样是指向同一内存 当$a=null 的时候 $b 也为null
❾ 请问下在PHP里如何修改对象里面数组里的值呢
给数组元素赋值,与该类型普通变量赋值方法相同: a[2]=20 ; //直接把相应的元素引用( a[2] )当变量使用就可以了。 数组的定义方式为: 类型 数组名[数组元素个数] ; 如: int a[10];数组成员的引用为:数组名[下标] printf( "%d", a[0] ) ;数组
❿ PHP的类对象的赋值和clone的区别
PHP的类的赋值方式,有3种情况,一种是$a = new class()操作,创建类;一种是普通的对象赋值$a = $b; 一种取地址的赋值方式$a = &$b。那么,这三种赋值,指向的内存是否是同一块呢?好吧,我们一起来做一个实验。
代码如下:
<?php
class mm {
public $name = 'Peter';
}
$a = new mm();
echo $a->name,"\n";//输出为Peter
$b = $a;
$c = &$a;