Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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数组传递给javascript?_Javascript_Php_Arrays - Fatal编程技术网

将PHP数组传递给javascript?

将PHP数组传递给javascript?,javascript,php,arrays,Javascript,Php,Arrays,我有一个PHP数组,如下所示: $link_array = [ "Our_dogs" => "ourdogs.php", "About_us" => "aboutus.php", "Puppies" => "puppies.php", "Contact" => "contact.php", "Login" => "login.php", "Guestbook" => "guestbook.php" ]; $link_array = [

我有一个PHP数组,如下所示:

$link_array = [
  "Our_dogs" => "ourdogs.php",
  "About_us" => "aboutus.php",
  "Puppies" => "puppies.php",
  "Contact" => "contact.php",
  "Login" => "login.php",
  "Guestbook" => "guestbook.php"
];
$link_array = [
   "Our_dogs" => "ourdogs.php",
   "About_us" => "aboutus.php",
   "Puppies" => "puppies.php",
   "Contact" => "contact.php",
   "Login" => "login.php",
   "Guestbook" => "guestbook.php"
];

foreach($link_array as $key=>$value){
   // note that $_SERVER['PHP_SELF'] returns filename with prepended slash
   if( '/' . $value != $_SERVER['PHP_SELF'] ){
      echo '<li><a href="' . $value . '">' . $key . '</a></li>';
   }
}
我想将这个数组传递给javascript,然后将它打印到我的页面上,但是如果我在,例如,我们的狗的页面上,我不想显示那个链接。可能吗

我试过这个:

foreach($link_array as $key=>$value){
    if(($key == "Our_dogs") && ($value == "ourdogs.php")){
        $_SESSION['Our dogs'] = $value;
      break;
 }

 $responseText['Our_dogs'] = $_SESSION['Our_dogs'];
 echo json_encode($responseText);
这是给JS的:

var response = JSON.parse(this.responseText);
var li = document.createElement('li');
        console.log(response.Our_dogs);
        li.innerHTML = '<a href=\"' + response.Our_dogs + '\">OUR DOGS</a>';
        byId("nav").appendChild(li);
var response=JSON.parse(this.responseText);
var li=document.createElement('li');
console.log(response.Our_-dogs);
li.innerHTML='';
byId(“nav”)。附属儿童(li);

但是我对这个还不熟悉,不知道怎么做。如何以正确的方式执行此操作?是否可以只打印到其他页面的链接(而不是显示的页面)?

为什么您甚至需要JavaScript

您可以这样做:

$link_array = [
  "Our_dogs" => "ourdogs.php",
  "About_us" => "aboutus.php",
  "Puppies" => "puppies.php",
  "Contact" => "contact.php",
  "Login" => "login.php",
  "Guestbook" => "guestbook.php"
];
$link_array = [
   "Our_dogs" => "ourdogs.php",
   "About_us" => "aboutus.php",
   "Puppies" => "puppies.php",
   "Contact" => "contact.php",
   "Login" => "login.php",
   "Guestbook" => "guestbook.php"
];

foreach($link_array as $key=>$value){
   // note that $_SERVER['PHP_SELF'] returns filename with prepended slash
   if( '/' . $value != $_SERVER['PHP_SELF'] ){
      echo '<li><a href="' . $value . '">' . $key . '</a></li>';
   }
}
阿贾克斯:

$.ajax({
数据类型:“json”,
...
})
.完成(功能(响应){
var currentUrl=window.location.href
var currentUrlLastPart=currentUrl.substr(s.lastIndexOf('/')+1);
for(var键响应)
如果(val!=currentUrlLastPart){
var li=document.createElement('li');
li.innerHTML='';
文件.getElementById(“nav”).appendChild(li);
}
});
});

类似这样的内容?

我想您是通过AJAX调用检索列表的?如果是的话,您的电话当前返回的是什么?此外,您当前是否收到任何错误等?您可以参考此链接:是的,我正在通过AJAX调用检索列表。没有错误,只是我不知道如何正确传递所有链接并只显示我想显示的链接。:)我需要将其传递给javascript,因为我想将它们传递到我拥有的if语句中,并且只向登录用户显示一些链接。谢谢,这可能会起作用,但这是真正的javascript还是可能是jQuery?@Isla Ajax call是jQuery,其他一切都是纯javascript。我猜你已经接到Ajax电话了。