Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 函数返回NULL而不是值_Php - Fatal编程技术网

Php 函数返回NULL而不是值

Php 函数返回NULL而不是值,php,Php,我写了一个我认为最基本的函数: 在functions.php中: function testowa() { $stringToReturn = "pies"; return $stringToReturn; } 然后我尝试在single.php中调用它: include_once ('functions.php'); testowa(); var_dump($stringToReturn); 而var\u dump显示空值 哪里可能出错?必须将函数的响应分配给变量。试一试 $stringT

我写了一个我认为最基本的函数:

在functions.php中:

function testowa() {
$stringToReturn = "pies";
return $stringToReturn;
}
然后我尝试在single.php中调用它:

include_once ('functions.php');

testowa();
var_dump($stringToReturn);
var\u dump
显示空值


哪里可能出错?

必须将函数的响应分配给变量。试一试

$stringToReturn = testowa();
var_dump($stringToReturn);

必须将函数的响应分配给变量。试一试

$stringToReturn = testowa();
var_dump($stringToReturn);

@MichałSkrzypek更新function.php文件,如下所示:

<?php
    function testowa() {
        global  $stringToReturn;
        $stringToReturn = "pies";
        return $stringToReturn;
    }

@MichałSkrzypek更新function.php文件,如下所示:

<?php
    function testowa() {
        global  $stringToReturn;
        $stringToReturn = "pies";
        return $stringToReturn;
    }
去罗马的一些方法

返回值版本:

function testowa() {
  return = "pies";
}
print testowa();
参考版本

function testowa(&$refer) {
  $refer = "pies";
}
$refer = '';
testowa($refer);
print $refer;
全局版本

function testowa() {
  global $global;
  $global = "pies";
}
$global='';
testowa();
print $global;
但是使用
返回值版本
,避免使用
全局版本

某些方法

返回值版本:

function testowa() {
  return = "pies";
}
print testowa();
参考版本

function testowa(&$refer) {
  $refer = "pies";
}
$refer = '';
testowa($refer);
print $refer;
全局版本

function testowa() {
  global $global;
  $global = "pies";
}
$global='';
testowa();
print $global;

但是使用
返回值版本
并避免
全局版本

未定义变量。了解变量作用域:|…|=>包含_once('functions.php')$stringToReturn=testowa();变量转储($stringToReturn)<代码>$xxx=testowa();var_dump(xxx美元)未定义变量。了解变量作用域:|…|=>包含_once('functions.php')$stringToReturn=testowa();变量转储($stringToReturn)<代码>$xxx=testowa();var_dump(xxx美元)
global
是一种不好的方法,请不要使用它。
global
是一种不好的方法,请不要使用它。似乎我太笨了,无法理解教程。很有魅力,谢谢你,好心的先生。只要系统允许,我会尽快给你的答案打上正确的标记。看来我可能太笨了,无法理解教程。很有魅力,谢谢你,好心的先生。只要系统允许,我会将您的答案标记为正确。