Extracción de elementos de matriz según la disponibilidad de prefijos
En un escenario en el que tiene una matriz con diferentes prefijos clave, extraiga solo elementos que comiencen con un prefijo particular puede ser una tarea útil. Consideremos una matriz de ejemplo:
array( 'abc' => 0, 'foo-bcd' => 1, 'foo-def' => 1, 'foo-xyz' => 0, // ... )
Desafío: Conservar solo los elementos que comienzan con 'foo-'.
Enfoque funcional:
$array = array_filter($array, function($key) {
return strpos($key, 'foo-') === 0;
}, ARRAY_FILTER_USE_KEY);
La función array_filter con la función anónima comprueba si la clave de cada elemento comienza con 'foo-'. Si se cumple esta condición, el elemento se retiene en la matriz modificada.
Enfoque procesal:
$only_foo = array();
foreach ($array as $key => $value) {
if (strpos($key, 'foo-') === 0) {
$only_foo[$key] = $value;
}
}
Este enfoque itera sobre la matriz, verificando cada clave para el prefijo 'foo-'. Si se encuentra, el elemento se agrega a una nueva matriz que contiene solo aquellos elementos que cumplen con el criterio.
Enfoque procesal utilizando objetos:
$i = new ArrayIterator($array);
$only_foo = array();
while ($i->valid()) {
if (strpos($i->key(), 'foo-') === 0) {
$only_foo[$i->key()] = $i->current();
}
$i->next();
}
Con este enfoque, se utiliza un objeto ArrayIterator para recorrer la matriz original. Cada clave se inspecciona en busca del prefijo 'foo-' y los elementos correspondientes se agregan a una nueva matriz.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3