Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перебрать массив
 
 автор: alph[p]a   (30.12.2011 в 11:48)   письмо автору
 
 

Что то я не пойму как мне из

    [child] => Array
        (
            [0] => 1
            [1] => 2
        )

    [sex] => Array
        (
            [0] => sex1
            [1] => sex2
        )

    [desc] => Array
        (
            [0] => desc1
            [1] => desc2
        )


сделать 2 массива вида


1.
[child => 1
[sex] => sex1
[desc]=>desc1

2.

1.
[child => 2
[sex] => sex2
[desc]=>desc2

Как сделать то?

написал через for


<?php
  $keyReact
=0;
        
$val=0;



         for(
$x=0$x<sizeof($data['child'])*3$x++) {

             echo 
key($data);

             echo 
$data[key($data)][$val].'<br>';
             
next($data);
             
$keyReact++;
             if (
$keyReact==3) {
                 
$keyReact=0;
                 echo 
'<br>';
                 
reset($data);
                 
$val++;
             }
         }
?>


а через foreach можно как нить?

  Ответить  
 
 автор: speedsoft   (30.12.2011 в 12:12)   письмо автору
 
   для: alph[p]a   (30.12.2011 в 11:48)
 

Не претендую на правильность, может даже и велосипед (готовой функции не знаю), но получилось так

<?
    $a
=array(
        
"child" => array(1234),
        
"sex" => array("sex1""sex2""sex3""sex4"),
        
"desc" => array("desc1""desc2""desc3""desc4")
    );
    
$new=array();
    
    foreach (
$a as $key=>$values){
        
$i=0;
        foreach (
$values as $nkey=>$nvalues){
            
$new[$i][$key]=$nvalues;            
            
$i++;
        }        
    }
?>

  Ответить  
 
 автор: Alph[p]a   (30.12.2011 в 12:53)   письмо автору
 
   для: speedsoft   (30.12.2011 в 12:12)
 

даже работает... но когда на код глянул, все равно не понял почему... спасибо за еще одно решение

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования