2015-11-02 5 views
0

Привет всем, у меня есть быстрый вопрос, на который я надеюсь, что один из вас может ответить. Я работаю с многомерными массивами, и я должен объявить ширину, длину и глубину небольшого, среднего и большого ящиков, а затем добавить инструкции, отображающие объем каждого из полей. Моя проблема связана с утверждением (я новичок в PHP). При запуске скрипта на WAMP мне возвращается пустая страница, поэтому я предполагаю, что я сделал что-то не так. Вот код, спасибо за полезные ответы.Ассоциативный «многомерный» массив

<?php 
$SmallBox =array("length" =>12, "width" =>10, "depth" =>2.5); 
$MediumBox =array("length" =>30, "width" =>20, "depth" =>4); 
$LargeBox =array("length" =>60, "width" =>40, "depth" =>11.5); 
echo $SmallBox ["length"]["width"] ["depth"]; 
echo $MediumBox ["length"] ["width"] ["depth"]; 


?> 
+0

Включите отчеты об ошибках WAMP показать предупреждения. – Shawn

ответ

0

Хотя вы правильно создали массивы, ваши утверждения эха невозможны таким образом.

Try:

echo $SmallBox["length"]; 
echo $SmallBox["width"]; 
echo $SmallBox["depth"]; 

И так далее.

0

использовать print_r ($ SmallBox), это предположить, чтобы показать предупреждение «причина эхо не может принимать массивы, включите ошибки отчетов для PHP,

, если вы хотите быть отформатирован:

print "<pre>"; 
    print_r($SmallBox); 
    print "</pre>"; 
    exit; 

в знать о типе данных и длиной использовании var_dump ($ SmallBox)

включить отчеты об ошибках см этого сообщения: How do I get PHP errors to display?

1

массивов у вас есть определены одномерные, ассоциативные массивы.

Вы должны вместо этого определить массив коробок в этом методе:

// I've separated them into lines for easier readability 
$boxes = array(
    "small" => array("length" =>12, "width" =>10, "depth" =>2.5), 
    "medium" => array("length" =>30, "width" =>20, "depth" =>4), 
    "large" => array("length" =>60, "width" =>40, "depth" =>11.5) 
); 
// Show the structure and contents of the array 
echo '<h2>Array Structure</h2>'; 
print_r($boxes); 

// You will have to access these elements individually 
// Small box: 
echo '<h2>Small Box</h2>'; 
echo 'Length: '.$boxes['small']["length"].'<br>'; 
echo 'Width: '.$boxes['small']["width"].'<br>'; 
echo 'Depth: '.$boxes['small']["depth"].'<br>'; 
echo 'Volume: '.$boxes['small']["length"]*$boxes['small']["width"]*$boxes['small']["depth"].'<br>'; 

// Medium box: 
echo '<h2>MediumBox</h2>'; 
echo 'Length: '.$boxes['medium']["length"].'<br>'; 
echo 'Width: '.$boxes['medium']["width"].'<br>'; 
echo 'Depth: '.$boxes['medium']["depth"].'<br>'; 
echo 'Volume: '.$boxes['medium']["length"]*$boxes['medium']["width"]*$boxes['medium']["depth"].'<br>'; 
+0

Когда я использую ваш метод, я возвращаюсь с помощью «Массив» ([small] => Array ([length] => 12 [width] => 10 [depth] => 2.5) [medium] => Array ([length] => 30 [ширина] => 20 [глубина] => 4) [большое] => Массив ([длина] => 60 [ширина] => 40 [глубина] => 11.5)) 12102.530204 "когда я выполняю скрипт через WAMP. – user5374923

+0

@ user5374923 Да, это правильный ожидаемый результат. Он показывает ваш многомерный ассоциативный массив. Цифры ниже - это индивидуальные номера, которые у вас есть эхо-эд (эхо не добавляет новую строку в конце. Вам нужно будет объединить новую строку самостоятельно, которая в случае HTML составляет
. echo $ boxes [ 'small'] ["length"], тогда нужно будет изменить на echo $ boxes ['small'] ["length"]. '
'; Я обновлю пример кода, чтобы отобразить это. – shrmn

+0

А, я вижу Спасибо большое за то, что убрали это! – user5374923

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