在JavaScript中将数组元素移动到变量
我已经使用php创建了一个数组,并使用在JavaScript中将数组元素移动到变量,javascript,php,arrays,Javascript,Php,Arrays,我已经使用php创建了一个数组,并使用JSON\u parse将其传输到JavaScript,到目前为止效果良好 问题是,我现在必须从这个JS数组中提取一列,并将其存储在一个简单的字符变量中。这肯定是在Javascript 101中,但我无法让它工作,而且我在任何地方都找不到正确的语法 currentVid=jArray[3]检索数据(这里是第三行)不起作用,我有点不知道如何继续 有人能帮我吗?所以我需要正确的语法将数组元素(比如第三行,第一个元素)复制到变量(char) 以下是代码btw: &
JSON\u parse
将其传输到JavaScript,到目前为止效果良好
问题是,我现在必须从这个JS数组中提取一列,并将其存储在一个简单的字符变量中。这肯定是在Javascript 101中,但我无法让它工作,而且我在任何地方都找不到正确的语法
currentVid=jArray[3]代码>检索数据(这里是第三行)不起作用,我有点不知道如何继续
有人能帮我吗?所以我需要正确的语法将数组元素(比如第三行,第一个元素)复制到变量(char)
以下是代码btw:
<?php
$videoList = [];
$arrayNumber = 0;
$servername = "localhost";
$username = "PPAUser";
$password = "password";
$dbname = "PPADB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT video_link FROM videolinks";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row into internal array
while($row = $result->fetch_assoc()) {
$videoList[$row['cat']][] = array(
'video_link' => $row['video_link']);
}
}
$conn->close();
?>
<script>
function setVideoPrev() {
var currentVid = document.getElementById("iFrame").src;
var jArray = JSON.parse('<?php echo json_encode($videoList ); ?>');
currentVid = jArray["video_link", 3];
document.getElementById("iFrame").src = currentVid;
}
</script>
函数setVideoPrev(){
var currentVid=document.getElementById(“iFrame”).src;
var jArray=JSON.parse(“”);
currentVid=jArray[“视频链接”,3];
document.getElementById(“iFrame”).src=currentVid;
}
行currentVid=jArray[“视频链接”,3]代码>不起作用,但我尝试了很多东西。编辑。根据评论,答案被编辑
看起来应该是jArray[您的类别][0]。视频链接
您的_类别
是$row['cat']
中用于访问数组的无效语法。尝试这样做:currentVid=jArray[“视频链接”][3]
。如果您不确定数据的外观,请在控制台中打印出来。谢谢,但我得到“无法读取未定义的属性”3。。。这很奇怪,因为在调试器中我看到:jArray:Object”“:数组[4]0:Object 1:Object 2:Object 3:Object length:4 proto:Array[0]proto:Object看起来像是数组数组。首先尝试访问jArray[0]
和console.log(jArray[0])
它。这让我明白了:未定义索引。php:21未捕获类型错误:无法读取undefinedsetVideoPrev@index的属性“3”。php:21onclick@index.php:165我已经尝试了你的示例,看起来应该是jArray[你的类别][0]。video\u link
。你的分类是$row['cat']
谢谢Alex,今晚我会再做一点。到目前为止,它还不能解决问题。创建jArray后进行调试时,我看到以下内容:jArray:Object”“:数组[4]0:Object video\u desc:“Massada-Sageru 2015”video\u id:“1”video\u链接:“video\u type:“URL”proto:Object等等。我不明白为什么会显示“数组”。