Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何实现这个简单的PHP逻辑函数?_Php_Variables - Fatal编程技术网

如何实现这个简单的PHP逻辑函数?

如何实现这个简单的PHP逻辑函数?,php,variables,Php,Variables,我需要像下面这样的东西。但我不知道我怎样才能做到这一点。我的剧本是 <?php $id = "1"; //the value of $id is a number. 1 - 500 $1 = "apple"; $2 = "orange"; //this part contains an unique words based on id echo $1; //this part echo the unique word with respect to the id val

我需要像下面这样的东西。但我不知道我怎样才能做到这一点。我的剧本是

 <?php

 $id = "1";  //the value of $id is a number. 1 - 500

 $1 = "apple";
 $2 = "orange"; //this part contains an unique words based on id


 echo $1; //this part echo the unique word with respect to the id value

 ?>


当id值为1时,我希望它能
回显苹果,如果id=2,输出应该是橙色的,如果id值为500,它应该显示相应的唯一单词。我怎样才能做到这一点?如何编写此函数的代码?提前谢谢。

您可以简单地完成此操作

 if($id==1){
      echo $1;
  }
 if($id==2){
      echo $2;
 }
您可以按如下方式使用:

echo $$id;
<?php
$id = 1;
$arr = array("apple", "orange", "strawberry");
if(!empty($arr[$id - 1])){
    echo $arr[$id - 1];
}
?>
它将打印与您想要的完全相同的变量值。

您可以使用数组。
注意,数组在PHP中是基于0的

<?php

    $items = array('apple', 'orange', 'potato', 'whateverElse'); // you can store here all your 500 items

    $id = 1; // now, it is a number. in your case, it was a string.

    if ($id < 0 || $id >= sizeof($items))
        die("Incorrect ID");

    echo $items[$id];
?>

此脚本将输出“橙色”。
您可以更改
$id
值并检查结果:如果
$id
包含在0和3之间,则它将输出相应的项(0-苹果、1-橙色、2-土豆、3-其他)。否则,它会说ID不正确


以下是使用数组的方法。

使用数组。它的方式更简单

$arr = array(0=>'apple',1=>'orange');
echo $arr[0]; // Outputs apple
echo $arr[1]; // Outputs orange
您可以通过以下方式:

echo $$id;
<?php
$id = 1;
$arr = array("apple", "orange", "strawberry");
if(!empty($arr[$id - 1])){
    echo $arr[$id - 1];
}
?>


为什么不使用数组?阅读这些,变量不能以数字开头请分享您的实际代码我删除了一堆完全不相关的标记。我不确定是什么让我更害怕-原来的问题还是这个答案。您是否要进行500 if比较?如果我需要对所有500 id重复此步骤以实现此目的?@vhjhgjhj使用第二个答案,它将解决您的问题这与此问题的大小不符。它还可以使用case语句进行改进。它认为不可能从numbers@vhjhgjhj请选择它作为答案虽然双变量在PHP中是一个巧妙的技巧,但如果控制不当,它们可能会导致问题。我更喜欢@Yeldar Kurmangaliyev的答案。这种方法确实有效,但它肯定不是人们学习编程和PHP的方式。以无序形式存储500个独立变量可能会变得不可控。如果您已经有500个变量,但需要将项目添加到第一个位置,该怎么办?您需要逐个重命名500个变量。如果缺少索引键,则需要通读500行代码。你将如何检查一个正确的
$id
索引?@vhjhjjhj你接受了错误的答案。如果您在非琐碎的代码中这样做,您将后悔。