PHP数组变量声明为别名

时间:2016-11-28 12:12:55

标签: php codeigniter

我只会声明一次数组。值希望一次又一次地调用作为关键别名。请任何人可以帮助我? 例如:

我有:

set ownIP=%~1

我需要:

<?php
$id =  $profile[0]->id;
$roll = $profile[0]->roll;
$photo = $profile[0]->photo;
$active = $profile[0]->active;
?>

可以使用foreach()完成。但是,我想在Alias上工作。 我需要任何好主意..

4 个答案:

答案 0 :(得分:0)

foreach($profile[0] as $key => $val) {
    $$key = $val;
}

答案 1 :(得分:0)

您可以为此目的使用DecisionMatrix = [0.2 0.4; 0.5 0.7]; Beta =0:pi/20:pi; Span_Loc = 0.5*(1-cos(Beta))'; for p=1:length(Span_Loc) Position = Span(p); for q=1:n if Position >= DecisionMatrix(q,1) && Position <= DecisionMatrix(q,2) %do what you want when the condition is true break end end end 构造。

list()

变量list($profile) = $profiles; $id = $profile->id; $roll = $profile->roll; $photo = $profile->photo; $active = $profile->active; 相当于$profile。所以,你可以坚持这样做。

答案 2 :(得分:0)

我想你可以试试这个

    <?php
    // this line you can try
    $var = array();

    // your code
    $var = $profile[0];
    $id =  $var->id;
    $roll = $var->roll;
    $photo = $var->photo;
    $active = $var->active;
    ?>

答案 3 :(得分:0)

我不是100%肯定你在寻找什么,但我觉得你在references之后,更具体地说是assign by reference

$profile = array(
    0 => (object)array(
        'id' => '314',
        'roll' => 'XYZ',
        'photo' => 'foo.jpg',
        'active' => true,
    ),
);

$var = &$profile[0];

$id =  $var->id;
$roll = $var->roll;
$photo = $var->photo;
$active = $var->active;

var_dump($id, $roll, $photo, $active);
string(3) "314"
string(3) "XYZ"
string(7) "foo.jpg"
bool(true)

现在$var是一个变量名,它指向可以通过任一变量修改它的$profile[0]相同的对象:

$var->photo = 'flowers.gif';
var_dump($profile);
array(1) {
  [0]=>
  &object(stdClass)#1 (4) {
    ["id"]=>
    string(3) "314"
    ["roll"]=>
    string(3) "XYZ"
    ["photo"]=>
    string(11) "flowers.gif"
    ["active"]=>
    bool(true)
  }
}

当然,如果您实际上不需要更改原始数组,这一切都有点过分,这就足够了:

$var = $profile[0];