Премахване на число от числа

MontefuckeR

Registered
Изобщо не се сещам как да махна определено число от определени числа пример:
$chisla = ' 1,2,3,10,20,2,400,32';
тези числа няма да са еднакви всеки път!

от тях искам да махна само числото 1
 
искам да махна числото 1, не празно място, но начина по, който се опитваш ще махне и 1 от 10, и там вместо да си остане 10, ще остане 0 8)
 
Код:
<?PHP
$array = array('1','2','3','10','20','2','400','32');
print_r(chislo('1',$array));
 function chislo($c,$array){
for($i=0;$i<=sizeof($array);$i++){
if($array[$i]!=$c){
$narray[]=$array[$i];
}
}
return $narray;
}
?>

Сигурно има и по-лесен начин, но не се сещам.
 
Жоро ме светна по въпроса, мерси все пак сигурно и с вашите варианти става :?:
 
Е дай да видим кода, за който са те светнали. Може и ние да научим нещичко.
 
Код:
 $arr = explode(','$kuki);
foreach($arr AS $v) {
  if($v != 10) {
  $newarr[] = $v;
  }
}

$newkuki = implode(',',$newarr);
 
Не че нещо,но варианта,който си дал не е много добър.С един regexp или с моя вариант е доста по-бързо.. :roll:
 
FestarBG, не упреквай човека, той има негово си мислене и математика в главата. Не можем всички да мислим еднакво.
Аз одобрявам варианта стринга да се прехвърли в масив, ако има смисъл от подобно нещо и използваш отделните елементи за различни неща, но иначе е задължително да се използва regex - такива са стандартите, които се налагат все повече за обработка на стрингове.
 
Не мисля че точно аз мога да упреквам @jooorooo, все пак от него съм научил каквото знам за php (+ малко php.net :D ).Просто казвам кой вариант е по-оптимизиран откъм скорост на изпълнение.. :)
 
afsh каза:
<?php
$chisla = ' 1,2,3,10,20,2,400,32';

$chisla = preg_replace('/^ 1,|^1,/','',$chisla);
?>
както съм споменл числата ще са различни, ако 1 е в края :)
$chisla = '7,2,3,10,20,2,400,32,1';
:twisted:
 
FestarBG каза:
Код:
$chisla = ' 1,2,3,10,20,2,400,32'; 
$arr = array("1,",",1",",1,");
$chisla = str_replace($arr, "", $chisla);

:)
видял ли си твоя оптимизиран вариант какво извежда:
2,30,20,2,400,32 от 1,2,3,10,20,2,400,32
 
Аз бих предложил следният вариант:
Код:
<?php
$chisla = "1,2,3,10,20,2,400,32";
$chislo = array("1"); //тук числото, което искаш да премахнеш
echo implode(array_diff(explode(",",$chisla), $chislo), ",");
?>
:wink:
 

Back
Горе