通过使用JavaScript变量作为索引来访问PHP数组元素
代码如下所示: PHP文件通过使用JavaScript变量作为索引来访问PHP数组元素,php,javascript,arrays,indexing,Php,Javascript,Arrays,Indexing,代码如下所示: PHP文件 <?php ... $arrayName = ['ArrayValue_0', ..., 'ArrayValue_n']; ... php?> JavaScript $('.elementClass').each(function(index, id) { $(id).html('<?php echo $arrayName[index - 1]?>'); }); $('.elementClass')。每个(函数(索引,id){
<?php
...
$arrayName = ['ArrayValue_0', ..., 'ArrayValue_n'];
...
php?>
JavaScript
$('.elementClass').each(function(index, id) {
$(id).html('<?php echo $arrayName[index - 1]?>');
});
$('.elementClass')。每个(函数(索引,id){
$(id).html(“”);
});
但您不能将这样的JavaScript变量插入php标记中,这样就永远不会收到索引。
我知道这可以通过AJAX实现,但还有其他方法吗?提前谢谢
其他信息:
我被告知要在PHP中执行此操作,因此无法将数组切换到JS文件。如果希望从服务器获取信息,则需要返回服务器(PHP在服务器上运行),因此,要么在加载包含PHP数组完整内容的页面时动态创建javascript变量,要么使用ajax返回服务器,而不刷新整个页面。您尝试的操作将不起作用。例如:
$(id).html('<?php echo $arrayName[index - 1]?>');
$(id).html(“”);
上述方法永远不会奏效,因为PHP是在服务器上运行的,而不是在用户的浏览器上运行的
您需要做的是以某种方式将变量发送到服务器。你有很多选择:
$\u POST
变量$\u GET
变量记住,PHP在服务器上运行,服务器呈现页面,然后运行Javascript的浏览器读取页面。您不能将PHP代码粘贴到页面中,并期望它被PHP解析 您可以在JS中定义
arrayName
变量,并使用服务器上的值对其进行初始化:
var arrayName = <?php echo json_encode($arrayName); ?>;
$(".elementClass").each(function(index, id) {
$(id).html(arrayName[index-1]);
});
var arrayName=;
$(“.elementClass”)。每个(函数(索引,id){
$(id).html(arrayName[index-1]);
});
PHP是一种服务器端语言。当客户端收到页面时,PHP代码已经执行。所以,不,你不可能用这个把戏做到。这正是我的目标。非常感谢。