【问题标题】:Look for Array key with value if equals php如果等于 php,则查找具有值的数组键
【发布时间】:2013-09-19 12:31:28
【问题描述】:

我想使用 mt_random 生成一个数字,这就是代码所做的,然后我想看看它是否等于数组中的一个值以打印出文本版本。

示例:如果结果为 2 且键 [2] 为 2,则打印“二”

$nul 在这个例子中是最终的输出。

终于在这个论坛注册了!想感谢大家这些年来帮助人们。我的第一个问题,所以请不要抨击我哈哈!

我想使用 mt_random 生成一个数字,这就是代码所做的,然后我想看看它是否等于数组中的一个值以打印出文本版本。

  <?php 

    $min = 1;
    $max = 6;
    $array = [
        "1" => "one",     
            "2" => "two",
        "3" => "three",
        "4" => "four",
        "5" => "five",
            "6" => "six",
    ];

    if (!isset($_POST["submit"]))
    {    

    $nul = "Druk op gooi";

    }


    if (isset($_POST["submit"]))
    {      
        $random = mt_rand($min,$max);         
        $nul = $random;
    }


    ?>
    <form action="dobbelen3.php" method="post">


      <div class="dobbel" id="dobbelid">
      <?php

      if(isset($_POST['submit']))
      {  
        echo  "<img src='images/$nul.JPG' width='121' height='115' />";
      }
      ?>
       </div>

    <input type="text" name="Project" value="

    <?php 

    echo $nul; 

    ?>

    "  style="width:121px;"/>

     <input type="submit" name="submit" value="submit" /> 
          </form>

【问题讨论】:

  • 我没有给出答案,因为它不能直接解决您的问题,但您可以尝试array_rand 或访问$array[$random] 这确实依赖于 PHP 松散类型,因为您使用的是数组索引的字符串/数字。
  • Tnx!现在我也学会了,非常有用!可以缩短代码:D

标签: php arrays variables if-statement equals


【解决方案1】:

你有数组的键,所以你可以获取它的值...

$random = 2;
$string = $array[$random];

你甚至可以让你的代码更简洁:

$array = ["one", "two", "three", "four", "five", "six"];
$string = $array[$random-1];

默认情况下,数组以 0 开头,因此 $array[0] 将包含“一”,这就是您需要从所需的实际值中减去 1 的原因。

$myArr = array('foo', 'bar');
// would be identical to
$myArr = array(0 => 'foo', 1 => 'bar');

这称为从零开始的索引

【讨论】:

  • Tnx 修复了它!还不能投票给你,因为我是新人,我想我以后可以投票给你。在 5 tnx 中为你们俩学到了很多东西!。
  • 你们速度太快了我没能,它说不能在 4 分钟内选择答案大声笑,现在选择,-1 在 $random 后面实际上做了什么?
  • aah 好的,不知道 :) 我已经更新了答案,对-1做了一个小小的解释
猜你喜欢
  • 1970-01-01
  • 2015-07-23
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
相关资源
最近更新 更多