L learn Medlem sedan jan. 2005 1 130 inlägg Frågan 27 aug. 2006 18:57 #1 Jag har en array med en massa element. Nu har jag ett värde som jag vill kolla ifall det finns med i arrayen eller inte. Finns det ngt element med det givna värdet så skall detta element tas bort.
Hur gör jag detta?
Fuel Medlem sedan okt. 2000 1 285 inlägg hehe .. det här var ett tag sen.. detta verkar funka iaf ?
<?php
$the_array = array("Nisse1", "Nisse2", "Nisse3", "Nisse4");
function replacer($text,$new,$the_array)
{
$num = count($the_array);
for ($i = 0;$i < $num; $i++) {
$oj .= str_replace($text, $new, $the_array[$i]);
}
print_r($oj);
}
replacer('Nisse2','learn',$the_array);
?>
L learn Medlem sedan jan. 2005 1 130 inlägg Tack, det var ju en lösning.
Fuel Medlem sedan okt. 2000 1 285 inlägg hoppas nästan nån kommer och rättar mig .. det kändes inte snyggt .. :D
Patrik81 Medlem sedan okt. 2001 538 inlägg Helt otestat, utan löften om "optimalitet" men here goes:
function remove( $value, $array )
{
$new = array();
foreach ( $array as $val )
{
if ( !$value != $val ) {
$new[] = $val;
}
}
return $new;
}
$list = array( "Det", "var", "en", "gång", "en", "liten", "get", "som", "hette", "Agnus" );
$list2 = remove( "var", $list );
Mvh Patrik
tronez Medlem sedan juli 2001 728 inlägg <?php
$array = array("Nisse1", "Nisse2", "Nisse3", "Nisse4");
echo "<pre>";
print_r($array);
echo "</pre>";
function delete($text,$array)
{
global $array;
if(in_array($text,$array)){
while ($current_index = current($array)) {
if ($current_index == $text) {
unset( $array[key($array)] );
break;
}
next($array);
}
}
}
delete('Nisse3',$array);
echo "<br><br><pre>";
print_r($array);
echo "</pre>";
?>
denna borde även funka
P plup Medlem sedan sep. 2005 93 inlägg Oj oj oj, all denna fulkod hurts my brains
Dom inbyggda funktionerna i PHP är till för att användas !
<?php
$array = array ('Nisse1', 'Nisse2', 'Nisse2', 'Nisse3', 'Nisse4');
$array = array_unique ($array); // RAD #4!
$key = array_search ('Nisse2', $array);
unset ($array[$key]);
$array = array_values ($array); // RAD #7!
print_r ($array);
?>
Rad 4 behövs ENDAST om du har "dublett"-värden i din array (I detta fall "Nisse2").
Rad 7 behövs ENDAST om du behöver "re-indexera" om din array.