当前位置: 首页 > 面试题库 >

是否可以在PHP中重载运算符?

袁波
2023-03-14
问题内容

具体来说,我想创建一个Array类,并希望重载[]​​运算符。


问题答案:

如果您正在使用PHP5(应该如此),请查看SPL
ArrayObject
类。文档不是太好,但是我认为如果扩展ArrayObject,您将拥有“假”数组。

编辑:这是我的简单示例;恐怕我没有有价值的用例:

class a extends ArrayObject {
    public function offsetSet($i, $v) {
        echo 'appending ' . $v;
        parent::offsetSet($i, $v);
    }
}

$a = new a;
$a[] = 1;


 类似资料:
  • 前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的呢? 其实在 Python 内部,每种序列类型都是 Python 的一个类,例如列表是 list 类,字典是 dict 类等,这些序列类的内部使用了一个叫作

  • 问题内容: 我对对象使用开关盒有疑问: 例如:我的问题可以用Java复制: 如何使用实施? 问题答案: 这是子类型多态性有帮助的典型方案。请执行下列操作 然后,你可以简单的调用上。 如果你不能随意更改,和,则可以应用访问者模式来实现相同目的。

  • 问题内容: 在数学课上,我们学习了如何定义新的运算符。例如: 这定义了法律。对于x和y的任何实数,x y是x + 2y。 范例:。 可以在JavaScript中定义这样的运算符吗?我知道函数可以胜任: 但我想使用以下语法: 代替这个: 哪个是最接近这个问题的解决方案? 问题答案: 最简洁的答案是不。ECMAScript(标准JS所基于的)不支持运算符重载。 可以使用sweet.js之类的第三方工具

  • 问题内容: 在Java中,我们不能覆盖final方法,但是有可能重载吗? 问题答案: 是的,重载最终方法是完全合法的。 例如:

  • 问题内容: 我有jQuery Accorion ID 和标头类名称中的一些内容。现在,我想给.simpleColor一个计算出的边距。用伪…看起来像这样, 我愿意使用其他任何技术(例如javascript)来实现这一目标。 问题答案: 有一个名为calc的CSS函数开始获得很好的支持。语法如下: (请注意,运算符周围的空白很重要) 这样可以在CSS中提供真正的动态计算支持。使用预处理器,您只能将静

  • 我想升级我的PHP版本。我读过,不推荐使用mysql_connect()。在所有项目中,我都使用了旧的mysql_connect()。我可以更新到PHP5.6.5吗?还是这个版本中的命令已经被删除了? 使用PHP 5.6.5和mysql_connect()? 问题是,我无法在这么短的时间内更改太多的项目,只能更新到支持mysql_connect()的最高版本。