Re: [PHP] PHP arrays and javascript

2004-11-30 Thread Nick Peters
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

2004-11-30 Thread Nick Peters
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

2004-11-29 Thread Nick Peters
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

2004-11-29 Thread Marek Kilimajer
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

2004-11-29 Thread Hodicska Gergely
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

2004-11-26 Thread Pablo Gosse
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

2004-11-26 Thread Marek Kilimajer
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