Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: array to string
Forum PHP.pl > Forum > PHP
komar07
Witam

Głowie się nad tym już ładnych pare godzin i nic nie chce wyjść, przeszukałem google, forum i nic.
Mianowicie chcę tablice wielowymiarową sprowadzić do stringu URL
czyli tablicę
  1. <?php
  2. $get_array = array('main' => 'main_value',
  3. 'at_id2' => array('id2_1', 'id2_2', 'id2_3'),
  4.   'at_id' => array('aaa' => array('1', '2', '3'),
  5.  'bbb' => array( array('1', '2') ) )
  6.  );
  7. ?>


sprowadzić do formy
Kod
main=main_value&at_id2[0]=id2_1&at_id2[1]=id2_2&at_id2[2]=id2_3&at_id[aaa][0]=1&at_id[aaa][1]=2&at_id[aaa][2]=3&at_id[bbb][0][0]=1&at_id[bbb][0][1]=2



z tego

  1. <?php
  2. function array_to_string($array = array(), $nnn = 1, $aaaa = '') {
  3.  $recursion = __FUNCTION__;
  4.  if (empty($array)) return '';
  5.  
  6.  $out = '';
  7.  
  8.  foreach ($array as $key => $elem)
  9.  if(is_array($elem)) {
  10.  
  11.  if($nnn == 1) {
  12.  $out .= $key . $recursion($elem, 10, $key);
  13.  } else {
  14.  $aaaa .= '['.$key.']';
  15.  $out .= $recursion($elem, 10, $aaaa);
  16.  }
  17.  
  18.  } else {  
  19.  
  20.  
  21.  if($nnn > 1) {  
  22.  $out .= $aaaa . '['.$key.']=' . $elem . '&';
  23.  } else {
  24.  $out .= $aaaa . ''.$key.'=' . $elem . '&';
  25.  }
  26.  
  27.  }
  28.  
  29.  return $out;
  30. }
  31. ?>


uzyskuje to

Kod
main=main_value&at_id2at_id2[0]=id2_1&at_id2[1]=id2_2&at_id2[2]=id2_3&at_idat_id[aaa][0]=1&at_id[aaa][1]=2&at_id[aaa][2]=3&at_id[aaa][bbb][0][0]=1&at_id[aaa][bbb][0][1]=2&



ktos ma jakis ciekawy pomysl ?
komar07
Chodziło mi o coś w php4, ale dzięki za naprowadzenie w komentarzach znalazłem paczke PEAR PHP_Compat jest tam przełożenie na 4.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.