عمل نکردن تابع trim در php

masoum

New Member
سلام
من یه آرایه دارم که هرچی با تابع trim توی php میخوام فاصله های اضافی عناصرش رو حذف کنم کار نمیده، کدش رو به صورت زیر نوشتم:

[LTR]for ($i = 0; $i <= count($ar)-1; $i++)
trim($ar[$i]);
[/LTR]

خواهشا بگین مشکلش چیه؟
 

Y.P.Y

Well-Known Member
سلام،
شما عناصر یک آرایه معلق(رو هوا) رو trim دارید میکنید، نه عناصر آرایه هدف رو.
مثلا به این شکل باید بنویسید:
PHP:
for($i = 0; $i <= count($ar) - 1; $i++): $ar[$i]= trim($ar[$i]);
endfor;
موفق باشید.
 

I.NoBody

Active Member
وقتي شما متغير رو به اين شكل توي يك تابع ميفرستيد، تغييرات تابع روي متغير مثل تغييرات روي يك متغير global در نظر گرفته ميشه.
البته من تست نكردم ببينم آيا تابع trim، تغييرات رو روي متغير ورودي انجام ميده يا نه. لطفاً تست كنيد و ببينيد راه حل من كار ميكنه؟
 

I.NoBody

Active Member
خودم تست كردم.
جواب نداد.
ولي براي اينكه ارزش كار & رو بدونيد، اينو تست كنيد :
PHP:
<?php
$a[0]=" sjdgyjsd gjhs jhdsg    ";
$a[1]=" sjdgyjsddsfds gjhs jhdsg    ";
$a[2]="  sjdsdssfdgyjsd gjhs jhdsg    ";
$a[3]="               sdsf324djdgyjsd gjhs jhdsg    ";
$a[4]=" sjdgyjsd gjhs jhdsg sdfds   ";
function mytrim($b){
	$b=trim($b);
}
for($i=0;$i<count($a);$i++)
mytrim(&$a[$i]);
echo "<pre>";
print_r($a);
?>
 

جدیدترین ارسال ها

بالا