【问题标题】:AS#3 organize variables loaded from PhPAS#3 组织从 PhP 加载的变量
【发布时间】:2013-03-17 03:34:00
【问题描述】:

我遇到了如何在 Flash 中组织来自 PHP 脚本的变量的问题。理想情况下,我希望它们采用数组类型格式,这样我就可以遍历它们。下面是一些代码。

    function completeHandler(evt:Event){ // after loading the php
    var symbolsArray:Array = new Array()                      
    symbolsArray.push(evt.target.data.symbol_1);// php variable named: symbol_1, symbol_2
    trace(evt.target.data); 
    }

以上一切正常,PHP 变量被列为 symbol_1、symbol_2 等

我想要一个循环,而不是将每个变量可分离地推入数组中:

    function completeHandler(evt:Event){ 
    var symbolsArray:Array = new Array() 
    var counter =1                     
    symbolsArray.push(evt.target.data.symbol_+counter); this is the issue
    trace(symbolsArray[0]); //returns NaN 
    }

下面是 php return vars to flash 给出一个想法:

      $returnVars['symbol_1'] = $virtualReel1[0];
      $returnVars['symbol_2'] = $virtualReel1[1];
      $returnVars['symbol_3'] = $virtualReel1[2];
      $returnVars['symbol_4'] = $virtualReel2[0];
      $returnVars['symbol_5'] = $virtualReel2[1];
      //etc
      $returnString = http_build_query($returnVars);
      echo $returnString;

【问题讨论】:

  • 作为旁注。我更喜欢使用 AMFphp 和 ValueObjects。这样您就可以创建自己的模型并轻松地在 php 和 flex 之间传递对象。
  • 有趣,但是我拥有的 php 脚本可以从任何设备完全访问,或多或少它是一个基本功能,只是从 php 返回一些计算,而不是使用 flash 来计算
  • 我同意你的观点,只是想提一下。

标签: php actionscript-3 flash flash-cs5


【解决方案1】:

返回的数据可以被视为一个对象(包含对象),因此您可以像这样循环遍历它:

function completeHandler(evt:Event)
{
    var symbolsArray:Array = new Array();
    for each (var obj:Object in evt.target.data)
    {
        symbolsArray.push(obj);
    }
}

如果您知道所有项目都是 oif 相同类型,则可以强制转换对象。例如:如果所有数字:

symbolsArray.push(Number(obj));

或字符串:

symbolsArray.push(String(obj));

【讨论】:

  • 再次,伙计,我不知道这是可以使用的,这个概念一直在我的脑海中,但是......优秀的 iv 发现这个疯子在 5 天内使用了 20 次
【解决方案2】:
 symbolsArray.push(evt.target.data["symbol_"+counter]);

如果你需要动态查询一个对象的属性,你可以通过一个可以动态形成的字符串键将其寻址为数组或字典。适用于任何东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 2011-02-22
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    相关资源
    最近更新 更多