我有一个名为$quizzes
的主数组,其中包含$Quiz
的集合。
每个$Quiz
都有以下字段:$Quiz['correct']
为我提供了正确问题的数量。
我可以使用$quizzes[12]['correct']
但是,由于这些测验没有按顺序显示,我决定定义一个新数组:
$listoftests = array('$quizzes[30]','$quizzes[51]');
在我的脑海中,$listoftests[0]['correct']
应该等于$quizzes[30]['correct']
,但它正在给我
警告:非法字符串偏移'正确' /demo.php 在第14行$
当我尝试echo $listoftests[0]['correct'];
答案 0 :(得分:1)
通过这样做
$listoftests = array('$quizzes[30]','$quizzes[51]');
你创建了2个字符串的数组。而已。不是数组数组。
你应该删除引号。您还可以使用isset()来检查数组项是否存在。
答案 1 :(得分:1)
在此$listoftests = array('$quizzes[30]','$quizzes[51]');
中,这些被视为两个字符串$quizzes[30]
和$quizzes[51]
。您应该删除单引号'
,然后重试。
更改此内容:
$listoftests = array('$quizzes[30]','$quizzes[51]');
要强>
$listoftests = array($quizzes[30],$quizzes[51]);
答案 2 :(得分:1)
删除单引号,它的shell工作正常https://docs.google.com/spreadsheets/export?id={GOOGLE_SPREADHSHEET_ID}&exportFormat=csv&mimeType=text/csv
答案 3 :(得分:1)
@GRS你可以用两种方式做到:
//case one where the element will be of string type
<?php
$quizzes[30] = 3;
$quizzes[51] = 32;
$listoftests = array("$quizzes[30]","$quizzes[51]");
var_dump($listoftests);
//or
//case two where the element will be of integer type
<?php
$quizzes[30] = 3;
$quizzes[51] = 32;
$listoftests = array($quizzes[30],$quizzes[51]);
var_dump($listoftests);