php - 如何从函数内部获取值?

标签 php

是否可以从函数内部获取值并在函数外部使用这些值?

这是我的代码:

<?php
function cart() {
  foreach($_SESSION as $name => $value){
    if ($value>0) {
      if (substr($name, 0, 5)=='cart_') {
        $id = substr($name, 5, (strlen($name)-5));
        $get = mysql_query('SELECT id, name, price FROM products WHERE id='.mysql_real_escape_string((int)$id));

        while ($get_row = mysql_fetch_assoc($get)) {
          $sub = $get_row['price']*$value;
          echo $get_row['name'].' x '.$value.' @ &pound;'.number_format($get_row['price'], 2).' = &pound;'.number_format($sub, 2).'<a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?delete='.$id.'">[Delete]</a><br />';
        }
      }      
      $total += $sub ;
    }
  }
}
?>

现在我的问题是如何获取$total 的值?我想在函数之外使用该值。我有 2 个功能 1 个购物车和 1 个折扣。

我试过return $total;(在函数内部)

例如

$final = cart () - discount ();
echo $final;

它呼应了两个函数,但是函数内部的代码不做任何数学运算。

最佳答案

您需要“返回”该值。查看entry in the PHP manual for this .基本上,return 的意思是“现在退出这个函数”。或者,您还可以提供函数可以返回的一些数据。

只需使用return 语句:

<?php
  function cart()
  {
      foreach ($_SESSION as $name => $value) {
          if ($value > 0) {
              if (substr($name, 0, 5) == 'cart_') {
                  $id = substr($name, 5, (strlen($name) - 5));
                  $get = mysql_query('SELECT id, name, price FROM products WHERE id=' . mysql_real_escape_string((int)$id));
                  while ($get_row = mysql_fetch_assoc($get)) {
                      $sub = $get_row['price'] * $value;
                      echo $get_row['name'] . ' x ' . $value . ' @ &pound;' . number_format($get_row['price'], 2) . ' = &pound;' . number_format($sub, 2) . '<a href="cart.php?remove=' . $id . '">[-]</a> <a href="cart.php?add=' . $id . '">[+]</a> <a href="cart.php?delete=' . $id . '">[Delete]</a><br />';
                  }
              }
              $total += $sub;
          }
      }

      return $total;
  }
?>

关于php - 如何从函数内部获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082160/

相关文章:

javascript - 将 SQL BIT 通过 jQuery 转换为 JSON,最后以 HTML 形式显示?

php - 如何在 PHP 和 MySql 中保存和管理 session ID 和用户 ID

php - 如何过滤复杂 SQL 查询的结果?

php - 如何在 Ubuntu 服务器中使用 PHP 7.0 启用 LDAP?

php - 将 xlsx 转换为 csv 在服务器上不起作用

php - 无法获取基于 mysql 查询的表单来加载所有 POST 变量

PHP查询/比较MySQL中的用户输入和aes加密数据

php - 在YII2中使用Gii创建 View 和 Controller 时,PHP编译错误

php - 一页显示多个 COUNT(*)

php - PayPal - IPN 监听器和加密支付