我有这个
Hibernate: select next_val as id_val from hibernate_sequence for update
Hibernate: update hibernate_sequence set next_val= ? where next_val=?
sout: tx.commit()
Hibernate: insert into Person (age, name, surname, id) values (?, ?, ?, ?)
我想这样做:
$terim1=$isaret1.$carpan1.$terim1;
$terim2=$isaret2.$carpan2.$terim2;
$terim3=$isaret3.$carpan3.$terim3;
有可能吗?或者有任何解决方案吗?
答案 0 :(得分:1)
将其包装成大括号:
for($i=0; $i<4; $i++){
${"terim".$i} = ${"isaret".$i} . ${"carpan".$i} . ${"terim".$i};
}
在线查看: https://eval.in/927730
<?php
$isaret1 = 'aa';
$carpan1 = 'bb';
$terim1 = 'cc';
$isaret2 = 'AA';
$carpan2 = 'BB';
$terim2 = 'CC';
$isaret3 = '11';
$carpan3 = '22';
$terim3 = '33';
$terim1=$isaret1.$carpan1.$terim1;
$terim2=$isaret2.$carpan2.$terim2;
$terim3=$isaret3.$carpan3.$terim3;
for($i=0; $i<4; $i++){
${"terim".$i} = ${"isaret".$i} . ${"carpan".$i} . ${"terim".$i};
}
echo PHP_EOL . $terim1;
echo PHP_EOL . $terim2;
echo PHP_EOL . $terim3;
将产生
aabbaabbcc
AABBAABBCC
1122112233
答案 1 :(得分:1)
你实际上可以使用var vars(就像在其他答案中看到的那样)。实际上更好的方法应该是使用数组。
for($i = 0; $i<4; $i++){
$terim[$i] = $isaret[$i] . $carpan[$i] . $terim[$i];
}
这样做,您也可以轻松地将$terim
轻松传递给其他功能,而无需每次修改整个签名。除此之外,您确切地知道数组中有多少值,并且可以用4
替换count($terim)
。
再说一遍 - 使用var vars解决了当前的问题,但根本不解决结构问题。
答案 2 :(得分:0)
是的,它被称为变量变量
$$a
http://php.net/manual/en/language.variables.variable.php
e.g。对于你的情况:
$testvar1=1;
$testvar2=2;
$testvar3=3;
$a='testvar';
for($i=1;$i<=3;$i++)
echo ${$a.$i};
答案 3 :(得分:-1)
试试这段代码:
for($i = 0; $i < 4; $i++) {
$var1 = 'retim' . $i;
$var2 = 'isaret' . $i . 'carpan' . $i . 'terim' . $i;
$$var1 = $$var2;
}