doudan4834 2011-09-22 01:04
浏览 26
已采纳

从类中检索数组值

Working on my first OOP app and I am having some trouble accessing the values of an array returned by a public function within my class. Here is the function -

//Process new transaction
    public function addTransaction($amount, $payee, $category, $date, $notes) {
        global $db;
        //Check to see if payee exists in Payee table
        $checkPayee = $db->prepare("SELECT * FROM payees WHERE name = ?");
        $checkPayee->execute(array($payee));
        $checkPayeeNum = $checkPayee->fetchColumn();
        $payeeDetails = $checkPayee->fetch();
        if ($checkPayeeNum < 1) {
            $insertPayee = $db->prepare("INSERT INTO payees (name, cat) VALUES(?, ?)");
            $insertPayee->execute(array($payee, $cat));
        } else {
            if ($payeeDetails['cat'] == "") {
                $updatePayee = $db->prepare("UPDATE payees SET cat=? WHERE name=?");
                $updatePayee->execute(array($cat, $payee));
            }
        }
        //Process the transaction
        $proc = $db->prepare("INSERT INTO transactions (amount, payee, cat, date, notes) VALUES (?, ?, ?, ?, ?)");
        $proc->execute(array($amount, $payee, $cat, $date, $notes));
        //Prepare array for JSON output
        $todaysTrans = $this->fetchDailyTotal();
        $weeklyTotal = $this->fetchWeeklyTotal();
        $accountBalance = $this->balanceAccount();
        $jsonOutput = array("dailyTotal" => $todaysTrans, "weeklyTotal" => $weeklyTotal, "accountBalance" => $accountBalance);
        return $jsonOutput; 
    }

Instantiating the object is not the issue, trying to figure out how to access the $jsonOutput array. How would one accomplish this?

Thanks!

  • 写回答

1条回答 默认 最新

  • doudi2229 2011-09-22 01:30
    关注
    // In some other PHP file...
    include 'YourClass.php';
    
    $yourObject = new YourClass();
    $returnedArray = $yourObject->addTransaction(...);
    
    // Access the returned array values
    echo 'Daily Total: ', $returnedArray['dailyTotal'], "
    ";
    echo 'Weekly Total: ', $returnedArray['weeklyTotal'], "
    ";
    echo 'Account Balance: ', $returnedArray['accountBalance'], "
    ";
    

    Also, for what it's worth, it's very confusing for you to be returning a PHP array called $jsonOutput, as it's not JSON encoded, which is what most developers will expect it to be. If you're wanting it to be JSON encoded, use json_encode() (see here for more info).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向