Tengo dos matrices. Como:

Bear, prince, dog, Portugal, Bear, Clown, prince, ...

y una segunda:

45, 67, 34, 89, ...

Quiero convertir la cadena de caracteres de las teclas en la primera matriz en variables y establecer la igualdad de
los números en la segunda matriz.

Es posible?

InformationsquelleAutor user723220 | 2011-04-26

2 Comentarios

  1. 27
    extract(array_combine($arrayKeys, $arrayValues));

    http://php.net/array_combine

    http://php.net/manual/en/function.extract.php

    Yo te recomiendo mantener los valores en una matriz, sin embargo, rara vez es una buena idea para inundar el espacio de nombres con las variables variables.

    • Mucho mejor que los viejos tiempos cuando usted tiene que usar eval para este tipo de problema.
    • ¿Qué edad tienen estos «viejos tiempos»? PHP puede hacer sin evil(), ya que tenía bucles y las variables variables… 🙂
    • Supongo viejos tiempos en mi tiempo era antes de que yo sabía acerca de extract que fue pre 4.3. Muestra lo que yo sé, supongo. evil()…bonito 🙂
    • el uso de extracto es el mejor. gracias 🙂
    • Ni es mejor, realmente. Los valores deben permanecer en una matriz… 🙂
  2. 5

    Trate de usar array_combine :-

    <?php
    $a = array('green', 'red', 'yellow');
    $b = array('avocado', 'apple', 'banana');
    $c = array_combine($a, $b);
    
    print_r($c);
    ?>

    De salida:-

    Array (
        [green]  => avocado
        [red]    => apple
        [yellow] => banana 
        )

    Bucle a través de esta matriz y crear variable para cada valor de la clave:-

    foreach($c as $key => $value) {
        $$key = $value;
    }

    Ahora, usted puede imprimir las variables como:-

    echo $green." , ".$red." , ".$yellow;

    Espero que esto ayude. Gracias.

    • Creo que el uso de extracto de función es la de mejor manera. php.net/manual/en/function.extract.php, Pero si en caso de que usted no quiere que todo su matriz de valores de las variables (queremos limitar sólo las variables), entonces usted puede utilizar mi respuesta.
    • Para limitar las variables, me gustaría ir con extract(array_intersect_key($c, array_flip(array('green', 'red'))));. 😉

Dejar respuesta

Please enter your comment!
Please enter your name here