将字符串,变量和数组索引连接到一个变量

时间:2016-01-18 06:49:02

标签: php

我正试图在联盟中做点什么,但我不知道我怎么能做到这一点。

我有两个数组变量。

<?php
$mobile_eu = array("alb", "bul");
$m_alb = array(array("Albanian"), array("test@test.com"),
    array("test2@test.com", "test3@test.com");
?>

我要做的是,从alb获取$mobile_eu,在字符串前加上该值,然后使用$m_alb索引从中访问[0][0]。有点像...

function createLink($category) {
  foreach ($category as $short) {
  $langcode = "\$m_" . $short . [0][0];
  }
}

是的,它不起作用。当我倾倒它时,它显示的只是

string 'alb0' (length=4)

我希望在这里实现

string 'Albanian' (length=8)

有没有办法解决这个问题?

任何帮助都会很棒。 感谢。

2 个答案:

答案 0 :(得分:2)

rgeos

prints <?php $mobile_eu = array("alb", "bul"); $m_alb = array(array("Albanian"), array("test@test.com"), array("test2@test.com", "test3@test.com")); echo ${'m_'.$mobile_eu[0]}[0][0];

另见:http://docs.php.net/language.variables.variable

但我认为您应该以另一种方式构建数据,因此您不需要这样的东西。例如。而不是有一个变量$ m_alb和另一个$ m_bul你可以有一个数组,其中'alb'和'bul'是键/元素:

Albania

答案 1 :(得分:1)

这可能会对你有所帮助。

解决方案:我在您的createlink函数中进行了一些修改请检查以下内容:

source,target={l[0]:l for l in a},{l[0]:l for l in b}
[target[key] for key in target.keys()-source.keys()]  

我已经将$ m_alb数组作为全局数据因为没有这个我们将获得function createLink($category) { foreach ($category as $short) { global $m_alb; $arrayName = "m_" . $short; $newArray = $$arrayName; var_dump($newArray[0][0]); } } 因为$ m_alb数组不在createlink函数的范围内。现在,您可以调用createlink函数并检查结果。

希望这对你有用。