How to convert a JavaScript array to array in PHP?

6

The system gives me a JavaScript matrix to work on the page. I can get this array with PHP, but I do not know how to convert from JavaScript to PHP and work using PHP.

This is an example of the JavaScript array:

<script type="text/javascript">
  var uCatsOut=[
    //['ID','ParentID','isSection','Name','Descr','URL','NumEntries']
    ['1','0','0','categoria A','Descrição da categoria A','/board/categoria_a/1','1'],
    ['2','0','0','Categoria B','Descrição da categoria B','/board/categoria_b/2','0']
  ];
</script>

I want to leave it like this:

$categ = array(
    '0' => array('1','0','0','categoria A','Descrição da categoria A','/board/categoria_a/1','1'),
    '1' => array('2','0','0','Categoria B','Descrição da categoria B','/board/categoria_b/2','0'),
);
    
asked by anonymous 02.03.2015 / 04:04

1 answer

7

On the JavaScript side you need to serialize this array. You can use JSON.stringify like this:

JSON.stringify(uCatsOut);
// dá uma string -> '[["1","0","0","categoria A","Descrição da categoria A","/board/categoria_a/1","1"],["2","0","0","Categoria B","Descrição da categoria B","/board/categoria_b/2","0"]]'

On the PHP side you have to decode JSON, you can use json_decode .

$json = '[["1","0","0","categoria A","Descrição da categoria A","/board/categoria_a/1","1"],["2","0","0","Categoria B","Descrição da categoria B","/board/categoria_b/2","0"]]';
$phpArray = json_decode($json, true);
var_dump($phpArray);

What will you give:

array(2) {
  [0]=>
  array(7) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "0"
    [2]=>
    string(1) "0"
    [3]=>
    string(11) "categoria A"
    [4]=>
    string(26) "Descrição da categoria A"
    [5]=>
    string(20) "/board/categoria_a/1"
    [6]=>
    string(1) "1"
  }
  [1]=>
  array(7) {
    [0]=>
    string(1) "2"
    [1]=>
    string(1) "0"
    [2]=>
    string(1) "0"
    [3]=>
    string(11) "Categoria B"
    [4]=>
    string(30) "Descrição da categoria B"
    [5]=>
    string(20) "/board/categoria_b/2"
    [6]=>
    string(1) "0"
  }
}
    
02.03.2015 / 09:54