Hey guys,

Vinden jullie dat er een verschil zit tussen een ID en een key?

Stel we hebben een array:

<?php
$product[1] => 'radio';
$product[2] => 'tv';
?>
Wat klinkt dan logischer?

<?php
$id = 2;
$product = $product->get($id);
?>
óf

<?php
$key = 2;
$product = $product->get($key);
?>
En stel dat het ID/key een woord is, wat vind je dan logischer?

<?php
$language['dutch'] => 'Nederlands';
$language['german'] => 'Duits';
?>
Wat klinkt nu logischer?

<?php
$id = 'german';
$language = $language->get($id);
?>
óf

<?php
$key = 'german';
$language = $language->get($key);
?>
Gevoelsmatig, maar dat is dus heel persoonlijk, heb ik een lichte neiging om bij een getal (zoals bij het product) een ID logischer te vinden, terwijl ik bij een woord (zoals bij language) een lichte voorkeur heb voor een key.

Ervaren jullie dit ook zo? Of juist helemaal niet? Het gaat er bij deze vraag niet om wie er gelijk heeft. Ik ben met name beniewd of jullie een verschil ervaren tussen een ID en een key.
ID is een identifier, zolang de string uniek blijft (en dat is ie, omdat een key altijd uniek is) kun je hem dus id noemen.
Dankje Wouter. Is er voor jouw gevoel dan ook geen verschil tussen een key en een id(entifier)?
Hetzelfde verschil als tussen een hond (key) en een dier (id). Een key is een vorm van ID, maar een ID is geen key.
>> Hetzelfde verschil als tussen een hond (key) en een dier (id).

Huh? :) Wat bedoel je?

Je zou het ook nog INDEX kunnen noemen :P

key betekend letterlijk natuurlijk sleutel... Dan denk ik weer meer aan beveiligingen eigenlijk.

Bij array's praat men over index en element maar ook wel over key en value.

Bij databases of html elementen meestal weer over id's ...

Uiteindelijk is het allemaal min of meer hetzelfde lijkt mij.

Ze zijn alle drie uniek zoals wouter al aangaf
Oké... maar het lijkt me lastig om de ene keer over key te hebben en dan weer over een id. Dus dan kan ik het beter maar bij id houden.
Wanneer je het over een object hebt, dan heeft dat object een identiteit.

Wanneer je het over een data structuur hebt waarin 0 of meer objecten in kunnen staan heb je het over keys. De unieke ID(entifier) is zoals wouter zei een prima key. Als de key een waarde van 0 tot <aantal elementen in data structuur> is en de key van element nummer n de waarde n-1 heeft, dan is de key ook nog een index.

Een key kan tegelijkertijd een ID en index zijn.
Of alleen een ID/index.
Of geen van beide. (Een hash bijvoorbeeld.)

Dat is hoe ik het zie.
Hmmm, oké. Maar als ik de banaming ID gebruik om iets op te halen, zit ik dus eigenlijk altijd wel goed?
Naar mijn idee? Nee. key is algemener dan ID. Maar alleen wanneer je het over een data structuur (array, list, set, map) hebt.
>> Maar alleen wanneer je het over een data structuur (array, list, set, map) hebt.

Dan gebruik je key of id?

Stel ik heb een array met daarin "paden" en nu wil ik het pad voor de images ophalen, dus $path['images'], dan is images een key... maar toch ook een ID?

Reageren