分配变量时,php合并或连接字符串

时间:2015-10-04 08:34:17

标签: php

PHP NOOB,我整天都在处理这段代码,但无法找到解决问题的好方法。

这是我的代码:

$priv = explode(',', '0,1,1');
$m = 'me';
for($i = 0; $i <= 2; $i++)
{
    if($priv[$i] == '0')
    {
        $m.$i = 20;
    }
    else
    {
        $m.$i = 10;
    }
}

我尝试加入$m.$i并将其设置为20或10,但我最终得到me20me10而不是me1 = 20me1 = 10当我回复$m.$i这是合法的,是否有任何方法可以使这项工作?

3 个答案:

答案 0 :(得分:5)

$m.$i = 20;

这将指定$i = 20,然后将其与$m连接,因此您会看到me20

您需要的是$m . $i .= 20;。这将完全连接起来。

<强>固定

<?php

    $priv = explode(',', '0,1,1');
    $m = 'me';
    for($i = 0; $i <= 2; $i++)
    {
        if($priv[$i] == '0')
        {
          echo  $m . $i .= 20;
        }
        else
        {
         echo   $m.$i .= 10;
        }
    }
    ?>

修改

上面的回答是一个完全的误解,我意识到你打算创建变量:

for($i = 0; $i <= 2; $i++)
{
    if($priv[$i] == '0')
    {
        ${$m.$i} = 20;
        echo $me0;
   }
    else
    {
        ${$m.$i} = 10;
    }
}

答案 1 :(得分:2)

像这样分配它。

class people(object):

    name = ""
    __adjacent = []
    position = 0

    def __init__(self,nam):
        self.name = nam
    def print_name(self):
        print self.name
    def get_adjacent(self): 
        return self.__adjacent
    def append_adjacent(self,people):
        self.__adjacent.append(people)


sis = people('sister')
bro = people('brother')
sis.append_adjacent(bro)
print len(bro.get_adjacent())
for i in bro.get_adjacent():
    i.print_name()  
print len(sis.get_adjacent())

答案 2 :(得分:1)

您正在尝试动态创建变量,因此您必须执行以下操作:

$priv = explode(',', '0,1,1');
$m = 'me';
for($i = 0; $i <= 2; $i++)
{
    if($priv[$i] == '0')
    {
        ${$m.$i} = 20;
    }
    else
    {
        ${$m.$i} = 10;
    }
}

然后尝试打印$ me0,$ me1