0
votes

PHP - La boucle dans une matrice 3 dimensions donne une sortie étrange

En boucle, la 3ème boucle ne donne pas de sortie correcte. La 3ème boucle doit obtenir tout le nom correspondant de la 2e boucle de tableau. Mais il ne s'agit que d'obtenir un premier article de la deuxième matrice et d'ignorer tous les autres articles de réseau.

qui peut être une explication possible ici? Y a-t-il un problème dans le code? xxx


1 commentaires

Quelle est la sortie souhaitée que vous voulez?


3 Réponses :


0
votes

J'ai comparé toutes les valeurs de la matrice en utilisant le code suivant. J'espère que cela pourrait vous aider:

$t = json_decode(file_get_contents('https://gist.githubusercontent.com/mshafrir/2646763/raw/8b0dbb93521f5d6889502305335104218454c2bf/states_titlecase.json'), true);
    $t_array = array();
    foreach($t as $k => $row){
        array_push($t_array, $row['name']); 
    }

    $reg_state = array(
        array('Connecticut',' Maine',' Massachusetts',' New Hampshire',' Rhode Island',' Vermont'), 
        array('New Jersey',' New York',' Puerto Rico',' US Virgin Islands'), 
        array('Delaware',' District of Columbia',' Maryland',' Pennsylvania',' Virginia',' West Virginia'), 
        array('Alabama',' Florida',' Georgia',' Kentucky',' Mississippi',' North Carolina',' South Carolina',' Tennessee'), 
        array('Illinois',' Indiana',' Michigan',' Minnesota',' Ohio',' Wisconsin'), 
        array('Arkansas',' Louisiana',' New Mexico',' Oklahoma',' Texas'), 
        array('Iowa',' Kansas',' Missouri',' Nebraska'), 
        array('Colorado',' Montana',' North Dakota',' South Dakota',' Utah',' Wyoming'), 
        array('Arizona',' California',' Hawaii',' Nevada',' American Samoa',' Guam',' Northern Mariana Islands'), 
        array('Alaska',' Idaho',' Oregon',' Washington')
    );  

    $reg_state_short = array();
    foreach($reg_state as $k => $row){
        foreach($row as $k2 => $row2){
            if(in_array($row2, $t_array)){
                array_push($reg_state_short, $row2);
            }
        }
    }

    print_r($reg_state_short);


2 commentaires

nah, même problème. Il s'agit juste d'obtenir un premier élément de tableau de la deuxième matrice. Même problème avec mon code


Le problème était avec WhiteSpeace comme Wildreiko a dit



0
votes

Vous avez un espace supplémentaire dans le côté gauche dans certains états de votre $ reg_State

par exemple: xxx

devrait être: xxx

voici le code complet: xxx


1 commentaires

Yah, Whitaespace était le problème. Merci!



0
votes

Il suffit de couper l'espace de début et de fin

Vous avez des espaces de premier plan dans $ reg_State , par exemple 'Maine', 'Massachusetts' XXX

Ce que j'ai fait est de couper le champ d'avancement et de la trailing à l'aide de CARD dans si Déclaration Couper ($ T2 ['Nom']) === Couper ($ State)


1 commentaires

Oui, le problème était le WhiteSeace comme Wildreiko a dit