2013-02-19 2 views
-3
Array ( 

    [x0] => sometext1  
    [x1] => sometext2  
    [x2] => sometext3  
    [x3] => sometext4  
    [x4] => sometext5  
    [x5] => sometext6 
    [x?] => sometext? 

    [y0] => someothertext1  
    [y1] => someothertext2 
    [y2] => someothertext3  
    [y3] => someothertext4  
    [y4] => someothertext5  
    [y5] => someothertext6 
    [y?] => someothertext? 

    ) 

Я пытаюсь взять этот массив и создать таблицу. В принципе, я не знаю, сколько х или у будет ... Я пока не нашел никакого решения. Любая помощь будет принята с благодарностью.PHP-массивы в таблицу без везения

Результат я пытаюсь получить

Таблица

x  |  y 
sometext1 | someothertext1 
sometext2 | someothertext2 
...  | ... 
+2

Какая таблица, которую вы хотите? – 2013-02-19 07:04:57

+2

Каковы эти строки и колонии x и y? –

+0

x и y будут столбцами. Я не мог понять, как получить эти значения в строках таблицы. – user1605661

ответ

0

Скопируйте этот массив в другой вар для этого примера у вас есть два массива с именами $ обр и $ arr2 это просто копия каждый.

$arr = $arr2 = Array ( ....); 

foreach($arr as $key=>$data) 
{ 
    $num = substr($key,1); 
    echo '<tr><td>'.$data.'</td>'; 
    foreach($arr2 as $key2=>$data2) 
    { 
     $num2 = substr($key2,1); 
     if($num == $num2) 
     { 
      echo '<td>'.$data.'</td>'; 
      break; 
     } 
    } 
    echo '</tr>'; 
} 

Это, конечно, не принимать во внимание такие вещи, как фиксация недостающую тд, если нет «у», чтобы соответствовать «X» дополнительно.

1

Если возможно, выполните небольшую поправку к массиву, как он объявлен. Сделать это выглядит так:

Array ( 
    [x] => Array (
     [0] => sometext1  
     [1] => sometext2  
     [2] => sometext3  
     [3] => sometext4  
     [4] => sometext5  
     [5] => sometext6 
     [?] => sometext? 
    ) 
    [y] => Array (
     [0] => sometext1  
     [1] => sometext2  
     [2] => sometext3  
     [3] => sometext4  
     [4] => sometext5  
     [5] => sometext6 
     [?] => sometext? 
    ) 
) 

И таким образом, с помощью PHP, вы можете сделать таблицу таким образом:

<table> 
<?php 
    echo '<tr>'; 
    foreach ($array as $heading => $contents) 
     echo "<th>$heading</th>"; 
    echo '</tr>'; 
    foreach ($array as $heading => $contents) 
     foreach ($heading as $value) 
      echo "<td>$value</td>"; 
?> 
</table> 
+0

Спасибо @Praveen, но я действительно не знаю, как я могу преобразовать ее в ваше издание. Можете ли вы помочь понять это? – user1605661

+0

@ user1605661: проверьте мой ответ для этого формата –

+0

@ user1605661 Хорошо, тогда ответ Прашанта подойдет вам. Шахта будет лучше для ремонтопригодности. –

0

Как Praveen Кумар объяснил таблица выглядит следующим образом:

# X    y 
0 sometext1  sometext1 
1 sometext2  sometext2 
1

Попробуйте это:

<?php 
$array = Array('x0' => 'sometext1',  
       'x1' => 'sometext2',  
       'x2' => 'sometext3',  
       'x3' => 'sometext4',  
       'x4' => 'sometext5',  
       'x5' => 'sometext', 
       'y0' => 'someothertext1',  
       'y1' => 'someothertext2', 
       'y2' => 'someothertext3',  
       'y3' => 'someothertext4',  
       'y4' => 'someothertext5',  
       'y5' => 'someothertext6', 
       ); 

$res = array();    
foreach($array as $key=>$val){ 
    preg_match('/(?P<var>\w{1})(?P<ky>\d+)/',$key, $match); 
    $res[$match['ky']][$match['var']] = $val; 
} 


echo "<table>"; 
echo "<tr><td>X</td><td>Y</td></tr>"; 
foreach($res as $keys=>$vals){ 
    echo "<tr><td>".$vals['x']."</td><td>".$vals['y']."</td></tr>"; 
} 
echo "<table>"; 

?> 

Выход:

X   Y 
sometext1 someothertext1 
sometext2 someothertext2 
sometext3 someothertext3 
sometext4 someothertext4 
sometext5 someothertext5 
sometext someothertext6 
+0

попробуйте с этим массивом '$ array = Array ('x0' => 'sometext1', 'x1' => 'sometext2', 'x2' => 'sometext3', 'x3' => 'sometext4', 'x4' => 'sometext5', 'x11' => 'SOMETEXT', 'у0' => 'someothertext1', 'у1' => 'someothertext2', 'у2' => 'someothertext3', 'y3' => 'someothertext4', 'y4' => 'someothertext5', 'y11' => 'someothertext6', ); ' –

+0

Отредактированный ответ, я думаю, это то, что вам нужно –

+0

@SherinJose : он отлично работает с вашим массивом –

Смежные вопросы