Таким образом, у меня есть время цикла, который генерирует Google Maps маркеры:PHP значения не находя массив, помеченных строк
<?php
mysql_data_seek($query, 0);
while ($row = mysql_fetch_array($query)) {
$lat2 = $row['usrhomelat'];
$lon2 = $row['usrhomelng'];
echo 'var icon = customIcons[ ' . $row['gender'] . '];';
echo 'var miLatLng = new google.maps.LatLng(' . $lat2 . ',' . $lon2 . ');';
echo 'var marker = new google.maps.Marker({';
echo 'position: miLatLng,';
echo 'map: map,';
echo 'icon: icon.icon';
echo '});';
}
?>
и захватывает соответствующий значок из этого массива:
var customIcons = {
male: {
icon: 'https://5d31037421'
},
female: {
icon: 'https://5d310374214f1
},
0: {
icon: 'https://5d310374214f
},
1: {
icon: 'https://5d310374214f1d0670ef
},
2: {
icon: 'https://5d310374214f1d0670e
}
};
Я задаюсь вопросом, почему когда связанный компонент массива является целым числом, он работает, но когда он является строкой, то есть «мужской» или «женский», я получаю и невостребованную опорную ошибку: мужчина не определен.
Я мог бы временно переключить эти значения массива на целые числа, чтобы решить проблему, но, скорее всего, они будут нуждаться в них как строки позже, поэтому я просто решаю эту проблему, прежде чем слишком много переключаться.
Искреннее спасибо за любую помощь-а
Эй, большое спасибо за ответ. К сожалению, это не сработало. – ambe5950
Я на самом деле только что получил его, ха-ха. Скорее всего, это было раньше: echo 'var icon = customIcons ["'. $ Row ['type']. '"];'; просто нужен дополнительный набор котировок. – ambe5950