необходимо выполнить цикл через массив PHP в JavaScript

Например, у меня есть массив PHP, такой как этот

<?php $s= array('a','b','c','d','e','f') ; ?> 

И мне нужно пропустить его в JavaScript, какие-то идеи, как это сделать?

 for ( i=0 ; i < <?php echo sizeof($s) ?> ; i++) { document.write('<?php echo $s [somehow need to get the 'i' value into here] ?>'); } 

Какие-либо предложения? Благодаря!

 <?php $s= array('a','b','c','d','e','f') ; ?> <?php foreach($s as $a){ ?> document.write('<?=$a?>'); <?php } ?> 

Не проверено, но это один из способов.

Перед вашим ehco / print или другим вашим php-массивом мы убедились, что это синтаксис JavaScript.

 <?php $s=array('a','b','c','d','e','f'); $s_to_json=json_encode((array)$s); ?> <script type="text/javascript"> var fromPHP=<? echo $s_to_json ?>; for (i=0; i<fromPHP.length; i++) { yourValue=fromPHP[i]; } </script> 

Javascript и PHP нельзя комбинировать. Это две совершенно разные программы, которые общаются только смутно. PHP работает на сервере и генерирует HTML. Javascript запускается на клиентском компьютере в webbrowser и действует на этот HTML. Если вам нужно каким-то образом переместить информацию из PHP в Javscript, вам необходимо сохранить ее в HTML и получить доступ к Javascript через этот HTML-код. Если вам нужно сделать обратное, переместите информацию с Javascript на PHP, попросите Javascript вызвать страницу PHP с строкой запроса.

Один из способов разместить информацию в вашем массиве где-нибудь, где Javascript может добраться до него, – это отбросить его в скрытый div. Либо в серии встроенных пролетов, либо в виде списка, разделенного запятыми. Затем вы можете вытащить его из DOM.

Например:

 <div style="display: none;" id="myArray"> <?php echo '<span id="myArray.count">'.sizeof($s).'</span>'; for ($i = 0; $i < sizeof($s); $i++) { echo '<span id="myArray.'.$i.'">'.$s[$i].'</span>'; } ?> </div> 

Затем в Javascript вы можете получить доступ к массиву в DOM:

 var myArray = new Array(); for(i = 0; i < document.getElementById('myArray.count').innerHTML; i++) { document.write(document.getElementById('myArray.'+i).innerHTML); } 

Отказ от ответственности: непроверенный код, и у меня нет времени его совершенствовать прямо сейчас. Если кто-то хочет прокомментировать или отредактировать, чтобы исправить ошибки, не стесняйтесь 🙂

Да … сначала откликните свой массив PHP как массив JavaScript, а затем переверните его. Не пытайтесь зацикливаться на вашем массиве PHP; вы не можете.

 <?php $religion = array('1'=>'hindu','2'=>'sikh','3'=>'muslim'); ?> <script> <select name="religion_name"> <?php foreach ($religion as $key => $value) { echo" <option value=$key> $value->name </option>"; } ?> </select> </script>