Question

Je sais que je suis probablement manque quelque chose facile, mais j'ai une boucle foreach et je suis en train de modifier les valeurs du premier tableau, et la sortie d'un nouveau tableau avec les modifications que les nouvelles valeurs.

En fait je commence avec un tableau: 0 => A: B 1 => B: C 2 => C: D

Et j'utilise exploser () pour enlever le: s 'et deuxième lettres, donc je veux rester avec un tableau: 0 => A 1 => B 2 => C

L'explosion () une partie de ma fonction fonctionne très bien, mais il me semble que pour obtenir des sorties de chaîne unique. A, B, et C.

Était-ce utile?

La solution

On dirait que vous voulez quelque chose comme ça?

$initial = array('A:B', 'B:C', 'C:D');
$cleaned = array();
foreach( $initial as $data ) {
  $elements = explode(':', $data);
  $cleaned[] = $elements[0];
}

Autres conseils

À moins que le tableau est référencé, foreach fonctionne sur une Copier du tableau spécifié et non le tableau lui-même

$arr = array( 0 => 'A:B', 1 => 'B:C', 2 => 'C:D');
// foreach($arr as $val) will not work.
foreach($arr as &$val) { // prefix $val with & to make it a reference to actual array values and not just copy a copy.
    $temp = explode(':',$val);
    $val = $temp[0];
}
var_dump($arr);

Sortie:

array(3) {
  [0]=>
  string(1) "A"
  [1]=>
  string(1) "B"
  [2]=>
  &string(1) "C"
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top