Question

Comment puis-je faire ce qui suit sans beaucoup de code compliqué?

  1. Explode chaque valeur d'un tableau en PHP (je sais genre de comment faire cette étape)
  2. Jeter la première partie
  3. Gardez la clé d'origine pour la deuxième partie (je sais qu'il y aura seulement deux parties)

Par cela, je veux dire ce qui suit:

$array[1]=blue,green
$array[2]=yellow,red

devient

$array[1]=green //it exploded [1] into blue and green and discarded blue
$array[2]=red // it exploded [2] into yellow and red and discarded yellow

Je viens de réaliser, je pourrais le faire avec pour chaque boucle ...? Si oui, répondez simplement oui. Je peux une fois je code sais par où commencer.

Était-ce utile?

La solution

donné ceci:

$array[1] = "blue,green";
$array[2] = "yellow,red";

Voici comment faire:

foreach ($array as $key => $value) {
    $temp = explode(",", $value, 2);  // makes sure there's only 2 parts
    $array[$key] = $temp[1];
}

Une autre façon, vous pouvez le faire serait comme ceci:

foreach ($array as $key => $value) {
    $array[$key] = preg_replace("/^.+?,$/", "", $value);
}

... ou utiliser une combinaison de substr() et strpos()

Autres conseils

Essayez ceci:

$arr = explode(',','a,b,c');
unset($arr[0]);

Bien que, vraiment, ce que vous demandez n'a pas de sens. Si vous savez qu'il ya deux parties, vous voulez probablement quelque chose plus proche de celle-ci:

list(,$what_i_want) = explode('|','A|B',2);
foreach ($array as $k => &$v) {
    $v = (array) explode(',', $v);
    $v = (!empty($v[1])) ? $v[1] : $v[0];
}

Le tableau que vous commencez avec:

$array[1] = "blue,green";
$array[2] = "yellow,red";

Une façon de coder:

function reduction($values)
{
    // Assumes the last part is what you want (regardless of how many you have.)
    return array_pop(explode(",", $values));
}

$prime = array_map('reduction', $array);

Note: Ceci crée un tableau différent de $array

.

Par conséquent $array == $prime mais est pas $array === $prime

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top