json_encode($myVar);正在给出地图,我想要一个字符串数组
json_encode($myVar); is giving map, I want a string array
我有以下HTML片段,使用PHP和JavaScript:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
var imageIndex = 0; // index into imageNames array
var imageHeight = 400; // height of image; changed by user clicking size buttons
var imageNames; // names of images user can view in this album
function pageLoaded() // execute this when the page loads.
{
// PHP -- generate the array of image file names
<?php
function getImageNames($directory)
{
$handle = opendir($directory); // looking in the given directory
$file = readdir($handle); // get a handle on dir,
while ($file !== false) // then get names of files in dir
{
$files[] = $file;
$file = readdir($handle);
}
if ($files[0] === ".") { unset($files[0]); } // Unix specific?
if ($files[1] === "..") { unset($files[1]); }
foreach($files as $index => $file) // only keep files with image extensions
{ $pieces = explode(".", $file);
$extension = strtolower(end($pieces));
if ($extension !== "jpg") { unset($files[$index]); }
}
$files = array_values($files); // reset array
natcasesort($files); // and sort it.
return $files;
}
?>
<?php $imageDirectory = $_GET['directory'] . '/';
$imageNames = getImageNames($imageDirectory);
?>
imageNames = <?php echo json_encode($imageNames); ?>;
imageHeight = 400;
imageIndex = 0;
reloadImage(); // loads the first image based on height and index
}
在此之后还有更多内容,但这部分没有引用那里的任何内容,并且我的问题此时已经存在于 HTML 输出中。
问题是,从末尾开始 5 行,我对文件名数组进行了json_encode。 我从中得到的输出如下所示:
imageNames = [{"59":"01-hornAndMusic.JPG","58":"02-DSC_0009.JPG","57":"03-DSC_0010.JPG","56":"04-Discussion.JPG","55":"05-DSC_0015.JPG","54":"06-DSC_0016.JPG","53":"07-DSC_0019.JPG","52":"08-strings.JPG","51":"09-strings2.JPG","50":"10-rehearsing.JPG","49":"11-StringsBigger2-001.JPG","48":"12-DSC_0041.JPG","47":"13-DSC_0046.JPG","46":"14-ensemble.JPG","45":"15-ensemble2.JPG","44":"16-DSC_0052.JPG","43":"17-rehearsing3.JPG","42":"18-rehearsing4.JPG","41":"19-rehearsing-001.JPG","40":"20-stringsBigger2.JPG","39":"21-rehearsing-002.JPG","38":"22-rehearsing-003.JPG","37":"23-ensemble3.JPG","36":"24-winds.JPG","35":"25-rehearsing-004.JPG","34":"26-stringsEvenBigger.JPG","33":"27-concentration.JPG","32":"28-concertMistress2.JPG","31":"29-stringsMore.JPG","30":"30-stringsMore-001.JPG","29":"31-stringsMore-002.JPG","28":"32-stringsMore-003.JPG","27":"33-stringsMore-004.JPG","26":"34-stringsMore-005.JPG","25":"35-DSC_0076.JPG","24":"36-stringsMore-007.JPG","23":"37-stringsMore-008.JPG","22":"38-stringsMore-009.JPG","21":"39-oboes.JPG","20":"40-winds-001.JPG","19":"41-DSC_0085.JPG","18":"42-DSC_0086.JPG","17":"43-percussion.JPG","16":"44-DSC_0088.JPG","15":"45-violinAtRest.JPG","14":"46-laughterInTheWoodwinds.JPG","13":"47-conducting-001.JPG","12":"48-DSC_0095.JPG","11":"49-DSC_0096.JPG","10":"50-AllTogetherNow.JPG","9":"51-DSC_0106.JPG","8":"52-horns.JPG","7":"53-DSC_0111.JPG","6":"54-conducting.JPG","5":"55-conducting-002.JPG","4":"56-conducting-003.JPG","3":"57-conducting-005.JPG","2":"58-DSC_0120.JPG","1":"59-DSC_0122.JPG","0":"60-everybody.JPG"}];
所以我有这个混合PHP映射/数组的东西的键和值。 我想要的只是值,放入JavaScript中的字符串数组中。
我有时会让它起作用,但不是其他的,我不知道其中的区别。
我认为在编码之前array_values
$imageNames
上应用函数应该可以解决问题。
imageNames = <?php echo json_encode(array_values($imageNames)); ?>;
我会这样做:
imageNames = <?php echo json_encode(array_values($imageNames)); ?>;
相关文章:
- 在多行图表中,在每一行的末尾,我想要一个小圆圈和使用d3.js的端点值
- 我想要相同的函数以两种方式反应
- 如何在javascript中创建一个空的2d数组?下面是我想要创建的一个示例
- 在地图加载/页面加载时,我想将地图设置为当前地理位置,但不想在地图上显示定位图标
- 如何用javascript发送多个文件没有jQuery我想要每个文件一个进度条
- 我想要一个类似于网站 https://onlycoin.com/ 的jQuery鼠标滚动动画效果
- 我想要“鼠标滚轮事件延迟”
- 如何格式化我返回的url,使其符合我想要的路由
- 如何使用facet指定我想要的字段
- json_encode($myVar);正在给出地图,我想要一个字符串数组
- 我想要输入类型<输入>在javascript中
- Javascript:我可以't找到正确的方式来表达布尔“;如果“;以得到我想要的结果
- 如何用javascript从数组中删除项?我想要一个类似拉的东西来做与推相反的事情
- 正则表达式对我想要做的事情是正确的吗?
- Javascript给定了一个数字,我想要所有可能的组合和元素数组
- 为什么获胜't我的javascript返回我想要的值
- 我想要获取文件输入并将其保存到本地路径的Javascript
- .remove() 只删除内部 HTML,而不是像我想要的那样删除整个标签
- 我想要一个警报框,在倒数计时器中使用 javascript 的 10 分钟
- 为什么当我加载谷歌地图时,它不显示我想要的位置