Existe-t-il un moyen d'accéder à un tableau multidimensionnel à partir de n'importe quelle position? exemple:tableau multidimensionnel
$arr = array (
1 => array (1, 'some-url-one', 'Some Title One'),
2 => array (2, 'some-url-two', 'Some Title Two'),
3 => array (2, 'some-url-three', 'Some Title Three'),
);
Ensuite, si nous avons l'id d'un élément, par exemple 2 et que vous voulez obtenir le titre de cet article nous utilisons simplement:
$title = $arr[2][2]; // which outputs Some Title Two
Et si nous voulons obtenir le URL de ce même article, nous utilisons simplement:
$title = $arr[2][1]; // which outputs some-url-two
mais si nous avons l'URL (une url-deux) et que vous voulez obtenir l'ID ou le titre de cet article?
Il y a 2 obligations:
boucle1- à travers le réseau et vérifier si cette URL existe 2- obtenir l'ID et le titre
Comment faire que la meilleure façon? J'ai déjà 3 tableaux:
1- id url
2- URL pour id
3- id à titre
$id2url = array (
1 => 'some-url-one',
2 => 'some-url-two',
3 => 'some-url-three'
);
Et les deux autres sont la même procédure. Je voulais donc optimiser mon code en combinant les 3 tableaux. Alors, comment accéder à l'ID et le titre avec une adresse donnée?
Merci.
et pour trois groupes comme celui ci-dessus? – medk
Cela ne fonctionnera pas, les clés ne peuvent être que des entiers ou des chaînes, mais pas des tableaux. Vous avez donc besoin d'un tableau fonctionnant comme le hash de recherche. C'est l'index de votre tableau multidimensionnel. – hakre
C'est un problème de recherche général - l'approche standard consiste à construire un index inversé, ce que fait array_flip() ici. Si vos tableaux sont relativement petits, vous pouvez ne pas vous soucier de la recherche O (n) ... sinon, s'il s'agit de données extraites de DB, vous pouvez ajouter un index dans la colonne URL. – fearlesstost