php génère la méthode de tableau correspondante basée sur la chaîne
Par exemple :
<?php $config = array( 'project|page|index' => 'content', 'project|page|nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' => 'about' ) ), 'project|page|open' => true ); ?>
Générez le tableau suivant selon $config
<?php $result = array( 'project' => array( 'page' => array( 'index' => 'content', 'nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' => 'about' ) ), 'open' => true ) ) ); ?>
Méthode : utilisez eval pour implémenter
<?php $config = array( 'project|page|index' => 'content', 'project|page|nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' => 'about' ) ), 'project|page|open' => true ); $result = array(); foreach($config as $key=>$val){ $tmp = ''; $keys = explode('|', $key); for($i=0,$len=count($keys); $i<$len; $i++){ $tmp .= "['".$keys[$i]."']"; } if(is_array($val)){ eval('$result'.$tmp.'='.var_export($val,true).';'); }elseif(is_string($val)){ eval('$result'.$tmp.'='.$val.';'); }else{ eval('$result'.$tmp.'=$val;'); } } print_r($result); ?>
Résultat de sortie :
Array ( [project] => Array ( [page] => Array ( [index] => content [nav] => Array ( [0] => Array ( [image] => 1.jpg [name] => home ) [1] => Array ( [image] => 2.jpg [name] => about ) ) [open] => 1 ) ) )
Cet article explique comment générer des tableaux correspondants basés sur des chaînes via php Pour plus de contenu connexe. , veuillez faire attention au site Web chinois php.
Recommandations associées :
Explication sur la solution au manque de guillemets doubles dans la clé de chaîne JSON
Comment obtenir la méthode de requête https via curl
Explication sur le téléchargement d'images et leur enregistrement dans la base de données via php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!