如何缩短变量

时间:2017-12-29 12:43:01

标签: php variables

我有这个

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;

有可能吗?或者有任何解决方案吗?

4 个答案:

答案 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;
}