J'ai ci-dessous deux tableaux et utilise la fonction Array_Merge_Recursive car j'ai des matrices multidimensionnelles, mais lorsque l'une des touches de la première matrice a une valeur vide et une même clé contient une matrice dans un autre tableau, puis une fonction array_merge_recrsive, ajoutez "0 "Clé de cette clé.
par exemple p> & résultat est p> donc, il ajoute [0] clé pour [ test-for-brouillon_subform1] code> tableau. Je ne veux pas ça. Y a-t-il une autre fonction de tableau PHP pour éviter cette situation? P> P>
3 Réponses :
Un moyen simple de fixer ce comportement (pour ce cas particulier) consiste à boucler via le tableau $ A code> Supprimer toutes les valeurs ayant une chaîne vide avant de la fusionner.
foreach($a as $k => $v) {
if($v == '') {
unset($a[$k]);
}
}
Vous pouvez utiliser Filtre de tableau et créer votre Fonction propre qui fait que cela recursement comme appelle cette fonction avec votre tableau p> Si tout ce que vous voulez, c'est supprimer vide, vous pouvez également le faire avec array_filter < / code> sur les tableaux avant de les fusionner p> p>
Lorsque l'une des deux valeurs (qui doit être fusionnée) n'est pas un tableau, vous ne voulez que l'autre d'entrer dans le résultat, ignorant la valeur non-matrice.
Il n'y a pas de fonction intégrée qui serait Faites cela, vous auriez donc besoin d'écrire votre propre: p>
Votre tableau $ B Spécifie que Test-For-Draw_SubForm1 contient un tableau, vous ne spécifiez pas une clé, de sorte qu'il devient 0. var_dump ($ B) et vous verrez ce que je veux dire. Le Array_Merge_Recursive fonctionne comme prévu.
Créez votre propre fonction.
@AneSessaban test-for-drad_subform1 sera toujours un tableau pour moi dans le deuxième tableau I.e. pour $ b
Donc, vous ne voulez pas de fusionnez i>, vous voulez réellement le tableau dans
$ b ["test-for-drad_subform1"] code> à jeter i> La chaîne vide que vous receviez de
$ a ["test-for-drad_subform1]] code>.
@Mangesh Vous pouvez ensuite appeler
array_filter code> sur les deux tableau avant la fusion ... Cochez ma réponse
@Mangesh, si le blanc aurait été une chaîne non blanche i>, vous attendez-vous à ce que la sortie soit différente? Est dans ce cas la
[0] code> souhaitée?
De même, si la clé n'existe pas du tout dans
b code>, voulez-vous que la clé soit dans la sortie (avec la chaîne vierge en tant que valeur)?
@Davidwinder merci beaucoup..C'est des travaux
@Mangesh Si oui, veuillez marquer la réponse comme acceptée afin d'un autre peut l'utiliser
@Mangesh, pourriez-vous toujours répondre aux rares questions que j'ai posées ci-dessus?