Sono sicuro che c'è di meglio. Qualsiasi aiuto sarà molto apprezzato.Argomenti funzionali opzionali PHP con array. Come codice/modo migliore per codificare?
Voglio passare una matrice a una funzione php che contiene l'argomento e tutti gli argomenti sono facoltativi. Sto usando l'accenditore del codice e non sono affatto un esperto. Qui di seguito è quello che ho usato finora:
function addLinkPost($postDetailArray) {
if (isset($postDetailArray['title'])) {
$title = $postDetailArray['title']; }
else {
$title = "Error: No Title";
}
if (isset($postDetailArray['url'])) {
$url = $postDetailArray['url'];
} else {
$url = "no url";
}
if (isset($postDetailArray['caption'])) {
$caption = $postDetailArray['caption'];
} else {
$caption = "";
}
if (isset($postDetailArray['publish'])) {
$publish = $postDetailArray['publish'];
} else {
$publish = TRUE;
}
if (isset($postDetailArray['postdate'])) {
$postdate = $postDetailArray['postdate'];
} else {
$postdate = "NOW()";
}
if (isset($postDetailArray['tagString'])) {
$tagString = $postDetailArray['tagString'];
} else {
$tagString = "";
}
Dovresti stare un po 'attento a fare cose del genere, specialmente se i dati sono forniti dall'utente, perché è simile a register_globals. –
@Tom Anche se personalmente l'avrei implementato usando una matrice per memorizzare i valori in contrasto con la variabile di funzione locale che usava nella sua domanda e ho usato nella mia risposta, si poteva implementare un rapido controllo nel ciclo foreach per ignorare qualsiasi chiavi fornite che non sono nell'array $ fields – Inspire
In realtà, a mio parere, il mio esempio esegue iterazioni sull'array $ fields anziché su $ postDetailArray, quindi il controllo delle chiavi non sarebbe necessario. – Inspire