Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   PHP-arrary (http://www.flasher.ru/forum/showthread.php?t=57444)

cacodemon 24.04.2004 18:03

PHP-arrary
 
У меня есть такой массив:
1|a|0
2|b|0
3|c|0
4|d|0
5|e|0
этих строчек необязательно пять, они считываются из файлы.. Мне из этого массива нужно получить - 3 массива такого вида:
$mas1=1, 2, 3, 4, 5
$mas2=a, b, c, d, e
$mas3=0, 0, 0, 0, 0

Помогите, в пхп недавно где можно посмотрел, но так и непонял как это зделать.... =(

Fargal 24.04.2004 18:40

...
$cnt=count($massiv);
$mas1=array();
$mas2=array();
$mas3=array();
for ($i = 0; $i < $cnt; $i++) {
list( $m1, $m2, $m3) = split( "\|", $massiv[$i], 3 );
array_push ($mas1, $m1);
array_push ($mas2, $m2);
array_push ($mas3, $m3);
}

ну наверно не идеальный вариант... я тоже в пхп недавно... но работает

ASteel 24.04.2004 22:48

2Fargal, cocademon:
Вот более оптимальный вариант.
<?
$array=file("somefile.txt");
foreach ($array as $k=>$v)
{
list($array1[],$array2[],$array3[])=split("\|",$v);
}
?>

cacodemon 25.04.2004 06:15

2 ASteel
Несростил, как потом вывести результат... :confused:
Допустим должно вывести:

&cufpa=1, 2, 3, 4, 5
&6ykBa=a, b, c, d, e
&zero=0, 0, 0, 0, 0

ASteel 25.04.2004 16:40

2cocademon:
что-то я невъеду, что тебе надо. :)
У тебя есть 3 массива. ($array1, $array2, $array3);
Если тебе надо вывести массив как строку с разделителями ",", то самый простой способ:
PHP код:

<? 

//.....
/* Здесь тот самый код, который я писал */
//.....

echo "&cufpa=".join(",",$array1);
echo 
"&6ykBa=".join(",",$array2);
echo 
"&zero=".join(",",$array3);
?>


cacodemon 26.04.2004 13:08

Ну во первых я Cacodemon, всё ок теперь понятно, но есть такой баг:
&cufpa=1,2,3,4,5
&6ykBa=a,b,c,d,e
&zero=0 ,0 ,0 ,0 ,0
т.е последняя строчка нетакая, это серьёзная проблема...

juggy 26.04.2004 13:51

Цитата:

Оригинал написал(а) cacodemon
Ну во первых я Cacodemon, всё ок теперь понятно, но есть такой баг:
&cufpa=1,2,3,4,5
&6ykBa=a,b,c,d,e
&zero=0 ,0 ,0 ,0 ,0
т.е последняя строчка нетакая, это серьёзная проблема...

PHP код:

$zero str_replace(" ,",",",$zero); 


cacodemon 26.04.2004 15:04

Не точно не то.. всёравно
0 ,0 ,0 ,0 ,0

ninja_127 26.04.2004 15:46

ну тогда так
 
Цитата:

Оригинал написал(а) cacodemon
Не точно не то.. всёравно
0 ,0 ,0 ,0 ,0

PHP код:

$zero str_replace(", ",",",$zero); 


juggy 26.04.2004 17:47

Марат, а чем твой вариант от моего отличается?

ninja_127 26.04.2004 17:49

ничем
 
Цитата:

Оригинал написал(а) juggy
Марат, а чем твой вариант от моего отличается?
опять придираешься!

cacodemon 27.04.2004 02:04

Верите нет, но эффекта ноль..... неверите сами попробуйте..


Часовой пояс GMT +4, время: 17:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.