PHP - 通过对象内部的引用修改数组值

标签 php

如何通过引用传递数组的值以修改其在对象内的值?我已经在 public function f(&$z) { 中使用 & 运算符进行了尝试。

<?php
    class C {
        private $a;

        public function f($z) {
            foreach ($z as $i => $v) {
                $v = 8888;
            }
        }
    }

    $p = 4;
    $obj = new C();
    $obj->f(array('key'=>$p));
    echo $p;
?>

我想将 8888 值设置为 $p 变量。

fiddle :http://codepad.org/RvKU4hY1

最佳答案

当您 1) 创建数组,2) 迭代它时,您必须使用引用:

<?php
  class C {
    private $a;

    public function f($z) { 
        foreach ($z as $i => &$v) {
            $v = 8888;
        }
    }
  }
    $p = 4;
    $obj = new C();
    $obj->f(array('key'=>&$p));
    echo $p;
?>

关于PHP - 通过对象内部的引用修改数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23017933/

相关文章:

php - 使用 PHP 制作 html 表格以实现 excel

php - 显示两个不同列的值的查询php mysql

javascript - Bootstrap 按钮悬停问题

php - 使用 Google Map API v3 提供的 DirectionsService 查找并显示最近标记的路线

php - 我无法打开 phpmyadmin 窗口

php - 自动谷歌搜索

php - 通过 WordPress 中选定的类别获取帖子查询

php - 使用 WhatsApp 发送但未使用 WhatsApp 业务 API 发送给收件人的消息

php - 在 HTML 代码中插入 PHP,即。 inside < ... value ="PHP CODE HERE"/> - 解决方法?

php - CodeIgniter:$this->load->database() 出错;