使用PHP将数组中的数组添加到javascript文件中



我不明白是怎么回事。

基本上我有一个javascript文件,我们找到一个多维数组。在我的php文件中,我用"json_decode"解码file.js,我检查我必须添加的数组和"多维数组"内的最后一个数组。如果不相同,则添加。

问题是加法不能…

这是file.js:

var eru = [
   [" 12 July-20 July 2015",18]
];
这个file.php

:

$intervallo= " 10 July-16 July 2015"
$numvulc= 25;
$aggiornamento= array($intervallo,$numvulc);
$fileeru= "out/eru.js";
$json = json_decode(file_get_contents($fileeru), true);
// how many arrays there are into multidimensional array **eru** 
$counteru= count($eru); 
//maybe here there's problem
if($eru[$counteru] != $aggiornamento){
  $eruzioni[]= $aggiornamento;
}
$eru= json_encode($eru);
$eru= 'var eru= '.$eru.';';
file_put_contents($fileeru,$eru);

比较是不同的,那么我希望文件。js现在是这样的:

var eruzioni = [
  [" 12 July-20 July 2015",18],
  [" 10 July-16 July 2015",25]
];

while is so:

var eruzioni = [
  [" 10 July-16 July 2015",25]
];

只有$aggiornamento和最后一个数组被删除…当然,如果在比较两个数组时相等,则不等于什么,文件也没有被修改。

要将javascript文件解析为json,需要删除它周围的var表达式。由于您似乎不确定您使用的是var eru =还是var eruzioni =,所以我只使用了第一个括号。

修改:

$json = json_decode(file_get_contents($fileeru), true);

To this:

$file_contents = file_get_contents($fileeru);
$json_string = substr($file_contents,strpos($file_contents,'['),-1);
$json = json_decode($json_string);

编辑添加:考虑以下代码(我替换了文件函数,因此您可以将其粘贴到phpcodepad.com中,看看它是如何工作的)

$intervallo= " 15 July-25 July 2015";
$numvulc= 30;
$aggiornamento= array($intervallo,$numvulc);
//$fileeru= "out/eru.js";
//$file_contents = file_get_contents($fileeru);
//GET DATA FROM STRING INSTEAD OF FILE
$file_contents = 'var eruzioni = [
  [" 12 July-20 July 2015",18],
  [" 10 July-16 July 2015",25]
];';
$json_string = substr($file_contents,strpos($file_contents,'['),-1);
$json = json_decode($json_string);
// how many arrays there are into multidimensional array **eru** 
$counteru= count($json);
//maybe here there's problem
if($json[$counteru-1] != $aggiornamento){
  $json[]= $aggiornamento;
}
$eru= json_encode($json);
$eru= 'var eru= '.$eru.';';
//file_put_contents($fileeru,$eru);
//ECHO INSTEAD OF WRITE TO FILE
echo '<pre>' . $eru . '</pre>';

相关内容

  • 没有找到相关文章

最新更新