【问题标题】:Create a custom array in PHP在 PHP 中创建自定义数组
【发布时间】:2014-01-30 15:23:12
【问题描述】:

我玩过一个个人项目,该项目涉及一个按发布年份列出 PC 游戏的网站等(我猜这个主题并不那么重要),链接结构如下:

http://localhost/
http://localhost/?g=15
http://localhost/?g=30
http://localhost/?g=45

就像我们看到的那样,我每页显示了 15 个游戏。我现在的工作是使用 php 以特定方式为每个页面(缩略图、链接等)显示上述链接:

$arr = array("","?g=15","?g=30","?g=45","?g=60","?g=75","?g=90");
foreach ($arr as $page) {
    $link = 'http://localhost/' . (string)$page;
    // do stuff to each page link
}

到目前为止,我对它的表现非常满意,但我想知道是否有一种方法可以自动创建数组,而不需要我手动编写字符串,例如,只需指定 15 的最后一个倍数。我搜索了网络,但没有找到任何结论,或者我表达的不够清楚,这就是为什么任何帮助都非常受欢迎的原因。

【问题讨论】:

  • 如果你想知道URL里是什么游戏,而且key是“g”,可以使用$_GET['g']获取值...
  • 数字是如何产生的?
  • @Jimbo 我基本上回显了类似的结果,例如:echo "<img src='" . $imgSrc . "'><br/><a href='" . $link . "'>Q2 of 2012</a>" ; 对每个页面链接(特定图像、文本等)做特定的事情,但我想要自动

标签: php arrays string foreach


【解决方案1】:
echo 'http://localhost';

for ($i = 15; $i < $max; $i += 15) {
    echo "http://localhost/?g=$i";
}

实际上$max 是根据条目的数量来计算的,这通常是通过查询数据库来计算的。不过,希望这会为您指明正确的方向。

【讨论】:

    【解决方案2】:

    您可以轻松生成数组:

    <?php
    
    $arr = array('');
    $max = 5;
    for($i = 0; $i < $max; ++$i) {
        $arr[] = '?g='.($i*15);
    }
    
    ?>
    

    【讨论】:

    • 谢谢你,现在我明白了,但有必要删除第一个 for 循环才能正常工作:)
    【解决方案3】:

    试试这个并告诉我它是否有帮助

    $links = array();
    $links[] = 'http://localhost/';
    $multiplier = 5; //the mutiplier, number of links to provide
    for ($i = 1; $i < $multiplier; $i++)
    {
        $links[$i] = 'http://localhost/?g='.(15*$i);
        // do here what you want with $links[$i]              
    }
    print_r($links);
    

    【讨论】:

      猜你喜欢
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      相关资源
      最近更新 更多