【问题标题】:How to return value to index page from an included script page?如何从包含的脚本页面返回值到索引页面?
【发布时间】:2020-05-29 20:51:20
【问题描述】:

index.php

<?php   
$surl = "http://myweb.com/myfolder/include.php";
$me_arr  = array(array('method'=>'x', 'param1'=> 5, 'param2'=> 3),array('method'=>'y', 'param1'=> 2, 'param2'=> 2));
$json_data = json_encode($me_arr);
$strResult = include($surl."?me_Name=".$json_data);

echo $strResult; 
?>

include.php

<?php
$method = (isset($_GET['me_Name']))?json_decode($_GET['me_Name'],true):'array()';

if(isset($method))
{
foreach (($method) as $extMethod)
{
$func = $extMethod['method'];
$param1 = $extMethod['param1'];
$param2 = $extMethod['param2'];

$func($param1,$param2,$z);
}
}   
function x($x, $y, $z)
{
$z=$y+$x;
echo $z;
}         
function y($x, $y, $z)
{
$z=$y+$x;
echo $z;
}
?>

这段代码工作得很好,但我想将z 的值返回到 index.php 而不是在 include page 中回显。但是return $z;在这里不起作用,只需在index.php中给我输出1。有什么办法可以解决这个问题??提前致谢。

【问题讨论】:

  • 在哪里调用你的返回函数
  • 如果您实际在文件系统级别上操作,您只能使用return 将数据从包含文件传递回包含脚本。您不是通过此处的文件系统进行包含,而是通过 HTTP URL 包含 - 这是完全不同的场景。

标签: php function include


【解决方案1】:

在包含后的 index.php 页面中,您可以像这样使用 $z 变量

<?php   
$surl = "http://myweb.com/myfolder/include.php";
$me_arr  = array(array('method'=>'x', 'param1'=> 5, 'param2'=> 3),array('method'=>'y', 'param1'=> 2, 'param2'=> 2));
$json_data = json_encode($methodarr);
$strResult = include($surl."?me_Name=".$json_data);

echo $z; // Using variable from include page
?>

【讨论】:

  • 不,这没有任何意义
  • @ssslll 您想从包含页面返回一个值以在您的主页中使用它。但它满足您的需求。可能我不知道你到底想要什么
  • 我想从包含页面返回 z 值并在索引页面中回显它
  • @ssslll 它自动返回,没有返回语法。首先,您必须了解 include 的工作原理。如果您在包含页面中定义了一个函数,那么您可以在其中使用 return。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2013-08-28
  • 2012-08-04
  • 1970-01-01
  • 2021-04-28
相关资源
最近更新 更多