【问题标题】:How to match and change values from two arrays如何匹配和更改两个数组中的值
【发布时间】:2016-04-30 20:31:07
【问题描述】:

我真的还在学php,这次不能实现这段代码。我需要一些帮助。

我有这个问题:

$query = tep_db_query("select c.categories_id, c.categories_image, cd.categories_name,
 c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . "
 cd where c.parent_id = '0' and c.categories_id IN ('25', '29', '41') and
 c.categories_id = cd.categories_id order by cd.categories_name ASC");

结果,我得到了这个数组:

Array ( [41] => Acura Parts and Accessories [29] => Honda Exterior Accessories 
[25] => Toyota Engine Parts)

我创建了这个简短的类别名称数组:

$shortNames = array('25' => 'Toyota', '29'  => 'Honda', '41'  => 'Acura');

我需要在下面的代码中而不是回显长类别名称,而是匹配 id 并回显短名称。

while ($categories = tep_db_fetch_array($categories_query))  {
<a href="<?php echo tep_href_link(FILENAME_DEFAULT, 'cPath='.$categories['categories_id']); ?>">
<?php echo $categories['categories_name']; ?>
</a>
}

我一直在查看一些 foreach 示例,但无法真正深入了解。

谢谢!!!

【问题讨论】:

  • 那么,您是否将初始查询的结果存储到 $categories 数组中? (不是很清楚理解)

标签: php arrays


【解决方案1】:

好吧,如果我理解你想要做什么,它会是这样的:

while ($categories = tep_db_fetch_array($categories_query)){

    $categoryId = $categories['categories_id'];
    $shortName = $shortNames[$categoryId];
    $href = tep_href_link(FILENAME_DEFAULT,'cPath='.$categoryId);

    echo '<a href="'.$href.'">$shortName</a>';
}

【讨论】:

  • hmm,这也是我希望 OP 想要的。你有我的赞成票。 :-)
  • 感谢 Rajdeep!我希望他能为我们澄清这一点
  • @ nanocv - 对不起,我错过了。我已将代码添加到帖子中。谢谢。
  • @nanocv 哇,它工作得很好,谢谢,你真的让我很开心。
  • @glen 欢迎您!并记住保持你的代码简单;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-29
  • 2017-02-11
  • 2016-07-08
  • 2019-07-16
  • 2019-09-02
  • 1970-01-01
  • 2020-07-16
相关资源
最近更新 更多