2015-05-06 3 views
1

Я попытался передать 2D-матрицу как переменную SESSION.Как передать матрицу в переменной SESSION. php

test1.php:

<?php 
// Start the session 
session_start(); 
$a=5; 
if($a>1) 
{ 
$k=0; 
for($i=0;$i<5;$i++) 
{ 
    for($j=0;$j<0;$j++) 
    { 
     $mat[$i][$j]=$k++; 
     echo $mat[$i][$j]; 
    } 

} 
print_r($mat); 
$_SESSION["favcolor"] = "green"; 
$_SESSION["favanimal"] = "cat"; 
$_SESSION["oned"]=$mat; 
?> 
<html> 
<a href="http://localhost/test2.php">Session variables are set"</a> 
</html> 
<?php 
} 
?> 

Операторы: echo $mat[$i][$j]; не проявляет и

выводе

В заявлениях:

print_r($mat); 

$_SESSION["oned"]=$mat; выводите: "Notice: Undefined variable: mat"

+5

Я не уверен, если это цикл функционально правильно: 'для ($ J = 0; $ J <0; $ j ++)' Из-за этого, управление никогда не переходит в эта часть кода и значение '$ mat' не будут установлены или отображены. – Maximus2012

+2

$ j <0 ??? Кажется, это опечатка ... – steven

+0

thats огромная ошибка опечатки ... как я могу быть таким глупым. благодарю вас за это. –

ответ

1

Этот я s ваша проблема: for($j=0;$j<0;$j++).

Хорошо сначала инициализировать свои переменные, чтобы вы не получили это уведомление PHP.

Try:

<?php 
// Start the session 
session_start(); 
$a=5; 
if($a>1) 
{ 
    $mat = array(); 
    $k=0; 
    for($i=0 ; $i<5 ; $i++) 
    { 
     for($j=0 ; $j<5 ; $j++) 
     { 
      $mat[$i][$j]=$k++; 
      echo $mat[$i][$j]; 
     } 

    } 
    print_r($mat); 
    $_SESSION["favcolor"] = "green"; 
    $_SESSION["favanimal"] = "cat"; 
    $_SESSION["oned"]=$mat; 
    ?> 
    <html> 
    <a href="http://localhost/test2.php">Session variables are set"</a> 
    </html> 
<?php 
} 
?> 
Смежные вопросы