Ho una matrice e in quell'array ho una chiave di array che assomiglia, show_me_160
questa chiave dell'array potrebbe cambiare leggermente, quindi a volte la pagina potrebbe caricarsi e la chiave dell'array forse show_me_120
, Voglio ora è possibile solo stringa abbinare la chiave di serie fino all'ultimo _
in modo che possa controllare quale sia il valore dopo l'ultimo trattino basso?selezionare un tasto array in base alla stringa parziale
risposta
una soluzione che posso pensare:
foreach($myarray as $key=>$value){
if("show_me_" == substr($key,0,8)){
$number = substr($key,strrpos($key,'_'));
// do whatever you need to with $number...
}
}
Ho pensato a ciò per cui sto lavorando, ma sospetto che sarebbe dolorosamente lento su enormi matrici. – GordonM
si dovrebbe iterare l'array per controllare ogni chiave a parte, dal momento che non si ha la possibilità di interrogare direttamente l'array (sto assumendo la matrice detiene anche le chiavi del tutto estranei, ma si può saltare la parte if
se questo non è il caso):
foreach($array as $k => $v)
{
if (strpos($k, 'show_me_') !== false)
{
$number = substr($k, strrpos($k, '_'));
}
}
Tuttavia, questo suona come un modo molto strano di memorizzare i dati, e se fossi in te, io' d controlla se non c'è un altro modo (più efficiente) di passaggio di dati intorno nell'applicazione;)
Questo funziona per me nella mia situazione, sebbene si noti che questa riga: 'if (strpos ($ k, 'show_me_')! == false)' dovrebbe essere 'if (strpos ($ v, 'show_me_')! == falso) ' – freestate
È inoltre possibile utilizzare una soluzione basata preg_match
:
foreach($array as $str) {
if(preg_match('/^show_me_(\d+)$/',$str,$m)) {
echo "Array element ",$str," matched and number = ",$m[1],"\n";
}
}
mi sono imbattuto in un problema simile di recente. Questo è ciò che mi si avvicinò con:
$value = $my_array[current(preg_grep('/^show_me_/', array_keys($my_array)))];
foreach($myarray as $key=>$value)
if(count(explode('show_me_',$event_key)) > 1){
//if array key contains show_me_
}
Maggiori informazioni (esempio):
se chiave dell'array contiene 'show_me_'
$ esempio = explode ('show_me_',' show_me_120');
print_r ($ esempio)
Array ([0] => [1] => 120)
print_r (count ($ esempio))
2
print_r ($ esempio [1])
120
Puoi spiegare più in dettaglio cosa significa questo pezzo di codice? –
se la chiave dell'array contiene 'show_me_' $ example = explode ('show_me _', 'show_me_120'); $ esempio: Array ([0] => [1] => 120) count ($ esempio) è: ** 2 ** $ esempio [1] è: ** 120 * * – user5510975
Perché hai bisogno di due funzioni (esploda e conta), se puoi usare sottostringa o strpos? –
- 1. Creare dinamicamente un oggetto PHP in base alla stringa
- 2. Arrivare al tasto successivo in un array
- 3. Ottieni elemento in base alla stringa
- 4. Come si ordina un array in base alla lunghezza della stringa e in base al valore in PHP?
- 5. Ordina array in base alla distanza di un numero
- 6. Ordine MySQL in base alla lingua della stringa
- 7. Selezionare gruppi distinti di righe in base alla media
- 8. (Python) algoritmo per selezionare in modo casuale un tasto sulla base di proporzionalità/peso
- 9. Testo in grassetto parziale in un codice HTML selezionare
- 10. Posso selezionare un elemento in base alla posizione dell'array in nightwatch.js?
- 11. ordinare una base serie sul tasto
- 12. passa un modello diverso alla vista parziale
- 13. Java stringa [] copia parziale
- 14. Ordinamento dell'elenco Python in base alla lunghezza della stringa
- 15. divisione di una stringa in base alla scheda nel file
- 16. Troncare la stringa in base alla larghezza del pixel
- 17. stringa di confronto parziale
- 18. Come reindirizzare gli URL in base alla stringa di query?
- 19. Inizializzazione di array parziale esplicita in Rust
- 20. Concatena una stringa in base alla lunghezza COBOL
- 21. CSS selezionare elementi con id parziale
- 22. Come eliminare un elemento dell'array in base alla chiave?
- 23. parziale stringa HTML fuga in Angular.js
- 24. Come scegliere un oggetto in base alla sua probabilità?
- 25. Elimina elemento dall'array multidimensionale in base alla chiave
- 26. Seleziona elemento in base alla classe figlio
- 27. array di byte alla conversione stringa esadecimale in javascript
- 28. Corrispondenza matrice PHP contro stringa parziale
- 29. Corrispondenza rapida stringa parziale in R
- 30. Trova la stringa parziale corrispondente
può fare un esempio? – Gumbo
usa array_map e una funzione di callback su preg_metch per '#show_me _ ([\ d]) + #' – Hannes