如何在第一个 php 脚本中访问变量 'a' 的值到第二个 php 脚本,并通过 ajax 调用链接


How to access the value of variable `a` in first php script to second php script and linked by ajax call

示例:我在第一个php脚本中的代码:

<?php
$a = array('green','yello','blue');

然后在我的第二个脚本中:

<?php
echo $a; //display the value based on my first script

jQuery-AJAX 链接了两个脚本

目的:

我的网页中有导航栏,有 3 个菜单/选项。单击其中一个菜单后,我将使用此代码$(this).closest('li').index()将其索引发送到第二个脚本(正常工作)。然后第二个脚本将检查正在发送的索引的值。索引将用作数组的键...

问题:

在我的第二个脚本中无法获取$a的值(数组)

注意:

我不能只使用一个脚本,因为我想对脚本进行分类.....这只是我项目的一小部分

PHP 变量始终仅在一个请求中可用。新请求意味着新的范围,并且在以前的脚本中设置的变量被遗忘了。要在多个请求中保留一个值,您可以使用示例会话。

带会话的解决方案

脚本 1

session_start();
$_SESSION['a'] = array('green','yello','blue');

脚本 2

session_start();
$a = array('green','yello','blue');

带有 require() 的解决方案

另一种选择是包含脚本 1,其中数组被声明并初始化为脚本 2(以及需要数组的所有其他脚本)。

脚本 1

$a = array();

脚本 2

require('script1.php');
$b = $a; // feel free to use the array $a here

将阵列传递到客户端并返回的解决方案

另一种解决方案(尽管很可能不是一个好的解决方案)是使用 json_encode($a) 将数组编码为 json,将其发送到客户端,然后在 ajax 请求中将数组发送回服务器到脚本 2。脚本 2 将使用 json_decode() 解析 json。