Re: [PHP] PHP arrays and javascript
Hodicska Gergely wrote: trigger_error('Hoppa, egy új típus a PHP-ben? '.__CLASS__.'::'.__FUNCTION__.'()!', E_USER_WARNING); on that line, what is the error you are trying to catch? I can't read what ever language that is ;-) thanks. -Nick Peters -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP arrays and javascript
Hodicska Gergely wrote: Hi! Would this work the same for multidimensional arrays? Encoding was a special feature needed by me, maybe you don't need it. Usage: myArray = array(...); echo 'script'.arrayToJsArray($myArray, 'myArray').'/script'; Felho --- 8 --- arrayToJsArray.php --- 8 --- ? function valueToJsValue($value, $encoding = false) { if (!is_numeric($value)) { $value = str_replace('\\', '', $value); $value = str_replace('', '\', $value); $value = ''.$value.''; } if ($encoding) { switch ($encoding) { case 'utf8' : return iconv(ISO-8859-2, UTF-8, $value); break; } } else { return $value; } } function arrayToJsArray( $array, $name, $nl = \n, $encoding = false ) { if (is_array($array)) { $jsArray = $name . ' = new Array();'.$nl; foreach($array as $key = $value) { switch (gettype($value)) { case 'unknown type': case 'resource': case 'object': break; case 'array': $jsArray .= arrayToJsArray($value, $name.'['.valueToJsValue($key, $encoding).']', $nl); break; case 'NULL': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = null;'.$nl; break; case 'boolean': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = '.($value ? 'true' : 'false').';'.$nl; break; case 'string': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = '.valueToJsValue($value, $encoding).';'.$nl; break; case 'double': case 'integer': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = '.$value.';'.$nl; break; default: trigger_error('Hoppa, egy új típus a PHP-ben? '.__CLASS__.'::'.__FUNCTION__.'()!', E_USER_WARNING); } } return $jsArray; } else { return false; } } ? --- 8 --- arrayToJsArray.php --- 8 --- thanks this works perfect! -- -Nick Peters -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP arrays and javascript
Marek Kilimajer wrote: Nick Peters wrote: Hey, i know this probally a simple question, but it has been stumping me for quite some time now. How do i pass a php array to a javascript? i tryed: script language=javascript var myarray = new Array(?PHP echo $myarray; ?); /script but it didn't work. Anybody got any ideas? thanks in advance. For integers and floats: var myarray = new Array(?PHP echo implode(', ', $myarray); ?); For strings: var myarray = new Array(?PHP echo ''. implode(', ', $myarray) .''; ?); Would this work the same for multidimensional arrays? -- -Nick Peters -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP arrays and javascript
Nick Peters wrote: Marek Kilimajer wrote: Nick Peters wrote: Hey, i know this probally a simple question, but it has been stumping me for quite some time now. How do i pass a php array to a javascript? i tryed: script language=javascript var myarray = new Array(?PHP echo $myarray; ?); /script but it didn't work. Anybody got any ideas? thanks in advance. For integers and floats: var myarray = new Array(?PHP echo implode(', ', $myarray); ?); For strings: var myarray = new Array(?PHP echo ''. implode(', ', $myarray) .''; ?); Would this work the same for multidimensional arrays? no -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP arrays and javascript
Hi! Would this work the same for multidimensional arrays? Encoding was a special feature needed by me, maybe you don't need it. Usage: myArray = array(...); echo 'script'.arrayToJsArray($myArray, 'myArray').'/script'; Felho --- 8 --- arrayToJsArray.php --- 8 --- ? function valueToJsValue($value, $encoding = false) { if (!is_numeric($value)) { $value = str_replace('\\', '', $value); $value = str_replace('', '\', $value); $value = ''.$value.''; } if ($encoding) { switch ($encoding) { case 'utf8' : return iconv(ISO-8859-2, UTF-8, $value); break; } } else { return $value; } } function arrayToJsArray( $array, $name, $nl = \n, $encoding = false ) { if (is_array($array)) { $jsArray = $name . ' = new Array();'.$nl; foreach($array as $key = $value) { switch (gettype($value)) { case 'unknown type': case 'resource': case 'object': break; case 'array': $jsArray .= arrayToJsArray($value, $name.'['.valueToJsValue($key, $encoding).']', $nl); break; case 'NULL': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = null;'.$nl; break; case 'boolean': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = '.($value ? 'true' : 'false').';'.$nl; break; case 'string': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = '.valueToJsValue($value, $encoding).';'.$nl; break; case 'double': case 'integer': $jsArray .= $name.'['.valueToJsValue($key, $encoding).'] = '.$value.';'.$nl; break; default: trigger_error('Hoppa, egy új típus a PHP-ben? '.__CLASS__.'::'.__FUNCTION__.'()!', E_USER_WARNING); } } return $jsArray; } else { return false; } } ? --- 8 --- arrayToJsArray.php --- 8 --- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP arrays and javascript
snip i know this probally a simple question, but it has been stumping me for quite some time now. How do i pass a php array to a javascript? i tryed: script language=javascript var myarray = new Array(?PHP echo $myarray; ?); /script but it didn't work. Anybody got any ideas? /snip You need to generate the javascript array from your PHP array. Example: In your script create a php array of the values you wish to use. Using indeces is not essential. If you do not use them, you can just use a counter var when you loop through the array to create the indeces for the JS array. ?php $arrayVar = array('first index'='item 1', 'second index'='item 2', 'third index'='item 3'); $jsVar = var myArray = new Array();\n; foreach ($arrayVar as $idx=$val) { $jsVar .= myArray['{$idx}'] = {$val}\n; } ? The final output of this will be: var myArray = new Array(); myArray['first index'] = 'item 1'; myArray['second index'] = 'item 2'; myArray['third index'] = 'item 3'; HTH, Pablo -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] PHP arrays and javascript
Nick Peters wrote: Hey, i know this probally a simple question, but it has been stumping me for quite some time now. How do i pass a php array to a javascript? i tryed: script language=javascript var myarray = new Array(?PHP echo $myarray; ?); /script but it didn't work. Anybody got any ideas? thanks in advance. For integers and floats: var myarray = new Array(?PHP echo implode(', ', $myarray); ?); For strings: var myarray = new Array(?PHP echo ''. implode(', ', $myarray) .''; ?); -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php