使用url键从随机多维数组中获取特定值

时间:2014-08-27 00:32:07

标签: php arrays url random key

我不退出如何从特定的键号回显两个项目(单独)。最后,我希望能够保留当前的随机函数,但是能够在需要时通过类似index.php?key=3的网址从数组中获取一组特定的值 - 让我们假设当访问者随机化时“ rzU_fLcxIN0“并希望与某人分享,然后他会继续查看具有相应值的网址index.php?key=3,并可以通过按钮随机化新值来继续。

也许我问了很多,但是一旦理解了要使用的部分(以及如何使用),感觉这应该是复杂的。我是新手,所以关于如何解决这个问题的所有帮助和指示对我都有用!

更新 我会尝试更好地解释随机问题和非随机问题。标准行为是向访问者显示随机内容,但访问者可以与他人共享特定帖子。 想象一下以下步骤,因为“访客”访问该网站;

  1. 访问者进入网站并点击按钮,以便在每次点击时随机化新内容。
  2. 访客从随机内容中发现了一些有趣的内容,并希望与“朋友”分享。
  3. 访客从网站上的字段Example)复制share-url index.php?key=3
  4. 朋友”通过共享网址进入网站,并显示key=3中的内容。
  5. 朋友”喜欢该网站,并希望查看更多内容,因此他点击了随机化按钮。
  6. 朋友”继续查看随机内容,尽管来自内容特定网址。
  7. 的index.php

    <a class="randomizerButton" data-href="data.php">Randomize</a>
    <hr>
    <div id="results">
    <?php include('data.php'); ?>
    </div>
    
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <script type="text/javascript">
        $(document).ready(function(){
            $('a.randomizerButton').click(function(){
                scriptUrl = $(this).attr('data-href');
                $.post(scriptUrl, function(response){
                    $('#results').html(response);
                });
            });
        });
    </script>
    

    data.php

    <?php
    
    $var = array(  
        //1,2,3,4... etc. are unique IDs
        1 => array("First", "0wLljngvrpw"),   
        2 => array("Second", "TINASKjjNfw"),  
        3 => array("Third", "rzU_fLcxIN0"),
        4 => array("Fourth", "aZZ8UnCTVJA"),
    );  
    $finalVar = $var[array_rand($var)];  
    echo $finalVar[0].'<br/>'.$finalVar[1];
    
    echo ('<hr>');
    
    // I've started out with things like the one below but I don't know how to output the values from a multidimensional array,
    // Didn't manage to find a helpful resource on the problem, mainly since I don't know if this is the correct way to approach this.
    
    $key='2';
    echo $var[$key]; //outputs Array, need to go one level deeper I guess?
    
    
    // Any pointers on how to load this specific value while maintaining the random button function as well, I'd be very grateful.
    
    // $_GET["key"]...?
        // loop array...?
    
    ?>
    

1 个答案:

答案 0 :(得分:0)

为了更好地解释我的评论,对于固定与随机,这是一个逻辑条件,为此我们使用if语句。

考虑您有网址index.php?key=3,我们只需在$_GET

中查看该网址
if( isset( $_GET['key'] ) && isset( $var[$_GET['key']] ) ){
   $finalVar = $var[$_GET['key']];
} else {
   $finalVar = $var[array_rand($var)];
}

当有人随意输入输入时,只需执行

header('location: index.php');
exit();

清除网址。或者来自Javascript

window.location.href = 'index.php';

这将在if上失败,并在条件的else部分执行,这将使用随机密钥访问数组,否则如果key在url查询中在数组$var中,他们将获得该项目。