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,但我最终得到me20
或me10
而不是me1 = 20
或me1 = 10
当我回复$m.$i
这是合法的,是否有任何方法可以使这项工作?
答案 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