数组是破译密码

问题描述:

这是我的代码:数组是破译密码

<?PHP 

echo "hello"; 
$array = ( 
     "hi" => "ho" 
     "li" => "lo" 
    ); 

echo "hi"; 
echo ($array["hi"]); 

?> 

这在浏览器上加载时不显示任何内容。删除与$ array有关的所有内容时,浏览器会显示“hellohi”。难道我做错了什么?服务器是运行PHP版本5.1.6的Apache/2.2.3(Red Hat)。更新或更改服务器中的任何内容都是不可能的。

谢谢!

你的代码中有几个语法错误。试试下面的代码:

echo "hello"; 
$array = array(
     "hi" => "ho", 
     "li" => "lo" 
    ); 

echo "hi"; 
echo ($array["hi"]); 

你被宣告阵列错误(see manual),你忘了阵列()。你也错过了数组元素之间的逗号。

+0

我试过这个,它工作。谢谢!在8分钟内接受答案时,它让我:) – 2012-03-16 21:07:18

+0

很酷,也只是一个fyi,你可以做'echo $ array [“hi”]''而不是'echo($ array [“hi”])' – 2012-03-16 21:15:38

+0

谢谢,这会为我节省一点时间。 – 2012-03-16 21:30:01

您的数组定义中有语法错误。您需要使用array()函数,并在元素之间放置逗号。

你有什么为:

$array = ( 
    "hi" => "ho" 
    "li" => "lo" 
); 

应改为:

$array = array( 
    "hi" => "ho", 
    "li" => "lo" 
); 

注意额外的函数调用,并经过 “豪” 单多余的字符!

+1

阵列()是不是一个功能,它是一种语言结构。 – 2012-03-16 21:14:27

+2

我意识到这一点,但我不想与那些刚刚在PHP中相处的人讨论精确的语义。当你开始使用时,将array(),unset(),die()等作为函数是很安全的。 – Jazz 2012-03-16 21:21:40

缺少你阵列中的,

$arr = array("val1" => 1, "val2" => 2); 

声明为一个数组。并确保你有逗号

<?php 

echo "hello"; 
$array = array( 
     "hi" => "ho", 
     "li" => "lo" 
    ); 

echo "hi"; 
echo $array["hi"]; 

?> 

它是

$array = array ( 
    "hi" => "ho", 
    "li" => "lo" 
); 
+0

缺少逗号。 – 2012-03-16 21:13:12

+0

oops,编辑... – redDevil 2012-03-16 21:16:41

PHP 5.4引入一个javascript味数组符号。随着最新版本的数组可以声明为:

$array = [ 
    "hi" => "ho", 
    "li" => "lo" 
]; 

PHP之前5.4仍然必须使用扩展语法

$array = array(
    "hi" => "ho", 
    "li" => "lo" 
);