2011-05-25 3 views
1

Comme array_push() où l'on peut placer un élément dans un tableau. Je veux pousser un hash [nom, url] dans un tableau de hachage.Comment faire pour hacher un tableau de hachage en php?

+1

Pourriez-vous décrire ce que vous voulez dire par hachage? – RJD22

+0

Qu'est-ce qu'un "tableau de hachage"? Cherchez-vous l'équivalent de PHP aux hachages de Perl, "tableaux associatifs"? –

+0

Eh bien, c'est comme une paire de cartes ou de paires valeur/clé. Je suis en train d'analyser quelques fichiers dans une boucle for & je veux ajouter à la fois le nom du fichier et l'URL du fichier dans un tableau qui n'est rien d'autre qu'un tableau de carte. c'est-à-dire que je veux ajouter ou pousser une clé, une paire de valeurs dans un tableau. c'est-à-dire array_push (nom, url) à un tableau de carte. Je suis nouveau à PHP ... peut-être que je me trompe avec la terminologie php ... mais c'est ce que je dois faire. –

Répondre

-1

IFIF je comprends votre problème, vous voulez récupérer la valeur de hachage à partir d'une URL puis utilisez parse_url avec PHP_URL_FRAGMENT argument de

$url = 'http://username:[email protected]/path?arg=value#anchor'; 

print_r(parse_url($url)); 

echo parse_url($url, PHP_URL_FRAGMENT); 

retournera

[fragment] => anchor 

Reference

+3

Ceci est accepté? Cela semble n'avoir rien à voir avec la question:/ –

+0

C'est pourquoi je l'écris avant le code. Oui, tu as raison. Cette réponse n'a rien à voir avec la question. – diEcho

7

Si vous faites référence à des tableaux associatifs où la clé est fournie par l'utilisateur (plutôt que d'un champ numérique auto-incrémentée), il suffit d'utiliser la syntaxe directe:

$a = Array(); 
$a['name'] = 'url'; 

Notez que $a = Array(); array_push($a, 'lol'); est (presque) le même que $a = Array(); $a[] = 'lol';. array_push est juste un "raccourci" (inutile) pour la même syntaxe, qui ne fonctionne que pour les index numériques automatiques.

I fortement recommandons fortement de lire the PHP manual section on the topic. C'est ce qu'il y a là-bas.

+0

+1 pour indiquer que 'array_push()' est en fait inutile dans la plupart des situations et peut être remplacé par '$ a [] = 'quelquechose'' (à moins bien sûr que vous vouliez obtenir le nombre d'éléments après le mettre à jour dans la même ligne). – Tadeck

+0

@Tadeck: En effet et merci :) –

2
<?php 
    $aArrayOfHash['example'] = 'http://example.com/'; 
?> 
4

Je ne sais pas, qu'est-ce que vous avez besoin, mais il vous faut pousser paire de valeurs dans un tableau, cela peut être votre solution:

$hashes_array = array(); 

array_push($hashes_array, array(
    'name' => 'something1', 
    'url' => 'http://www1', 
)); 

array_push($hashes_array, array(
    'name' => 'something2', 
    'url' => 'http://www2', 
)); 

Après que $hashes_array devrait ressembler à ça (chaque élément de le plus grand tableau est array lui-même - tableau associatif avec deux clés et deux valeurs qui leur correspondent):

[ 
    ['name' => 'something1', 'url' => 'http://www1'], 
    ['name' => 'something2', 'url' => 'http://www2'] 
] 
+0

Oui, je veux seulement cela. Maintenant, comment puis-je mapper la 2ème valeur de la 1ère valeur. Paire [clé/valeur] ici? –

+0

J'ai besoin de trier la 1ère valeur [nom] ou la clé, la 2ème valeur devrait également être triée sur cette base. –

+0

@mandy Je n'ai pas compris de quoi vous parlez, mais la réponse acceptée montre que vous essayiez de savoir comment créer des tableaux associatifs. J'ai utilisé des tableaux associatifs, mais je ne l'ai pas expliqué comme vous auriez dû l'expliquer, je pense. – Tadeck

Questions connexes