Existe-t-il un moyen de déterminer le nombre de dimensions dans un tableau PHP?Déterminer le nombre de dimensions dans un tableau PHP
Répondre
problème Nice, voici a solution I stole from the PHP Manual:
function countdim($array)
{
if (is_array(reset($array)))
{
$return = countdim(reset($array)) + 1;
}
else
{
$return = 1;
}
return $return;
}
Ceci n'est pas entièrement correct. Parce qu'il ne teste que le premier élément des tableaux. Cela ne donne donc que le résultat escompté lorsque vous êtes sûr qu'il s'agit d'un tableau de tableaux répartis uniformément. Vous devrez parcourir tous les éléments pour vraiment connaître les profondeurs variables. (Ou peut-être un algorithme spiffy traversal je ne suis pas au courant de) –
vous pouvez essayer ceci:
$a["one"]["two"]["three"]="1";
function count_dimension($Array, $count = 0) {
if(is_array($Array)) {
return count_dimension(current($Array), ++$count);
} else {
return $count;
}
}
print count_dimension($a);
Nice, merci –
Comme la plupart des langages orientés objet de procédure et, PHP n'implémente pas nativement des tableaux multidimensionnels - il utilise des tableaux imbriqués.
La fonction récursive suggérée par d'autres est désordonnée, mais la chose la plus proche d'une réponse.
C.
Celui-ci fonctionne pour les tableaux où chaque dimension ne possède pas le même type d'éléments. Il peut avoir besoin de traverser tous les éléments.
$a[0] = 1; $a[1][0] = 1; $a[2][1][0] = 1; function array_max_depth($array, $depth = 0) { $max_sub_depth = 0; foreach (array_filter($array, 'is_array') as $subarray) { $max_sub_depth = max( $max_sub_depth, array_max_depth($subarray, $depth + 1) ); } return $max_sub_depth + $depth; }
a été corrigée à Some issues with jumping from one function to another in a loop in php
Cette double fonction sera la dernière dimension de chaque tableau dans un $ et quand son pas un tableau plus il fera écho le nombre de boucles qu'il a fait pour y arriver avec un délimiteur |. L'inconvénient de ce code est qu'il ne fait qu'écho et ne peut pas être retourné (normalement).
function cc($b, $n)
{
$n++.' ';
countdim($b, $n);
}
function countdim($a, $n = 0)
{
if(is_array($a))
{
foreach($a as $b)
{
cc($b, $n);
}
}else
{
echo $n.'|';
}
}
countdim($a);
Ici j'ai fait une fonction avec retour, mais .. alors son retour de html « GET » retour à php sur le bouton clic .. Je ne sais pas tout autre moyen de le faire fonctionner .. si juste le nom de votre choix à un $ et appuyez sur le bouton:/
$max_depth_var = isset($_REQUEST['max_depth_var']) ? $_REQUEST['max_depth_var'] : 0;
?>
<form id="form01" method="GET">
<input type="hidden" name="max_depth_var" value="<?php
function cc($b, $n)
{
$n++.' ';
bb($b, $n);
}
function bb($a, $n = 0)
{
if(is_array($a))
{
foreach($a as $b)cc($b, $n);
}else
{
echo $n.', ';
};
}
bb($a); ?>">
<input type="submit" form="form01" value="Get max depth value">
</form><?php
$max_depth_var = max(explode(', ', rtrim($max_depth_var, ",")));
echo "Array's maximum dimention is $max_depth_var.";
Ne pas seulement poster du code; fournir une explication. – reformed
- 1. Comment déterminer le nombre d'entrées d'un tableau?
- 2. Est-il possible de compter le nombre de dimensions dans un tableau?
- 3. manipulation de tableau PHP à plusieurs dimensions
- 4. PHP comparer tableau de deux dimensions
- 5. Comment déterminer l'ordre nombre d'un élément dans le tableau
- 6. Tri tableau à deux dimensions dans AS3
- 7. PHP à deux dimensions Tableau Associatif implosent
- 8. PHP: filtrage 2 dimensions/tableau multidimensionnel
- 9. PHP - Vérifiez le nombre de valeurs dans le tableau
- 10. Aborder un seul tableau de pointeur dimensions à deux dimensions
- 11. PHP - « tableau multi-dimensionnel échange » Dimensions
- 12. Combien de dimensions dans mon tableau ou obtenir le dernier
- 13. PHP array_sum sur tableau multi dimensions
- 14. Déterminer le nombre de colonnes dans un tableau dans Word en utilisant VBA
- 15. comment initialiser un tableau à deux dimensions PHP
- 16. Tableau unique en tableau à deux dimensions en PHP
- 17. php le plus proche nombre mineur dans le tableau
- 18. Écrire un nombre dans un tableau qui a le même nombre de comptes comme le nombre
- 19. Déterminer le nombre de lignes dans un fichier texte
- 20. Déterminer le nombre de pages dans un fichier PDF
- 21. Déterminer le nombre de fichiers dans un répertoire
- 22. Déterminer le nombre de trames dans un AudioBuffer Audio Core
- 23. tableaux Ajout avec un nombre différent de dimensions
- 24. Comment compter le nombre de chaque tableau unique dans un tableau multidimensionnel? PHP
- 25. Commander un tableau PHP par le nombre d'objets identiques
- 26. Comment calculer correctement le nombre de niveaux dans un tableau?
- 27. traitement tableau 2 dimensions
- 28. randomise un tableau à deux dimensions?
- 29. Recherche du nombre le plus proche dans un tableau
- 30. Déterminer le nombre de résultats de ViewData
double possible de [y at-il un moyen de savoir comment « profonde » un tableau PHP est?] (http://stackoverflow.com/questions/ 262891/est-il-un-moyen-de-trouver-comment-un-php-array-est-profond) – jeremy