Так что я...
var newfavz = 'Array (
[0] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
[1] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
[2] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
)
';
на моем console.log, но почему-то есть синтаксическая ошибка: unterminated string literal. Я просмотрел и попробовал такие методы, как str_replace "/" с "//" или регулярное выражение типа.replace(/^/+/g, ''); потому что похоже, что JavaScript не позволяет разбивать строки на несколько строк или что-то в этом роде.
Все это началось с SQL-запроса, например...
$favurl = [];
$favquery = "SELECT * FROM userfavs WHERE users = '$username'";
$favresult = mysqli_query($conn, $favquery);
while($row = mysqli_fetch_assoc($favresult)) {
array_push($favurl, $row['fav_id']);
Впоследствии я сделал
var newfavz = <?php print_r ($favurl); ?>
что привело к вышесказанному.
Можно ли каким-либо образом использовать синтаксическую ошибку? Спасибо!
Причина: многострочные строки не разрешены в js:
"A
B"
Является синтаксической ошибкой. Вы можете удалить все новые строки и заменить их \n или использовать шаблонные литералы:
'A
B'
В вашем коде:
var newfavz =' <?php print_r ($favurl); ?>';
Так много об ошибке. Однако строка все еще непригодна для использования, ее необходимо проанализировать. Посмотрите на JSON или напишите свой собственный маленький парсер.
Вы должны поместить обратную косую черту в конце каждой строки, чтобы иметь многострочную строку:
var newfavz = 'Array (\
[0] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\
[1] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\
[2] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\
)\
';
Либо используйте шаблоны шаблонов ES6:
var newfavz = 'Array (
[0] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
[1] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
[2] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]
)
';
Или с обратной косой чертой:
var newfavz = 'Array (\n\
\n\
\n\
[0] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\n\
[1] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\n\
[2] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\n\
\n\
)\
';
Или объединить:
var newfavz = 'Array (\n' +
'\n' +
'\n' +
'[0] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\n' +
'[1] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\n' +
'[2] => [" 6 "," 1 "," 2 "," 5 "," 3 "," 4 "]\n' +
'\n' +
')\n';
\n
используется для представления newline
.
echo
результатjson_encode
вместо использованияprint_r
. Напечатанная строка бесполезна в среде JavaScript, проверьте stackoverflow.com/questions/4885737/…