2013-12-09 69 views
2

我想寫一個soap參數REALbasic陣列中的REALbasic數組

我需要在PHP類似於此另一個陣列中增加一個陣列:

$params = array(array(
    'sku' => 'some sku' 
)); 

所以可以通過這樣的:

$result = $client->call($session, 'catalog_product.list', $params); 

我有

dim aArgs (0,1) as String 
    dim aParmas (0,1) as String 
    aArgs(0,0)="sku" 
    aArgs(0,1)="some sku" 
    aParmas(0,1)= aArgs 

但收到「Type mismatch error. Expected String, but got String(,)

我該怎麼做。

感謝

回答

0

多維數組的REALbasic的一種解釋是here

簡短的回答是,你不能有陣列的PHP狀陣列。你需要將你的數組包裝在一個類中,並讓這個類的行爲像一個數組。

你使用REALbasic的任何原因?如果它是跨平臺的你後,python始終是一個更好的選擇

+0

解決方案是正確的,但斷言python「總是」更好是非常主觀的。 – mjdth

+0

在這種情況下,我支持評估。龐大的社區,出衆的文檔,pythonic可讀性。我已經廣泛地使用了這兩種語言,並且希望聽到其他論據。 – hammus

+0

剛開始使用python並編譯應用程序比簡單選擇平臺並按Build的Xojo工作流程複雜得多。雖然在許多情況下Python可能會更好,但在很多情況下,在Xojo中做同樣的事情會更容易和更快捷。例如,Xojo需要這樣的主題:http://stackoverflow.com/questions/2933/an-executable-python-app – mjdth

1

首先,該行因爲您分配一個數組(這是在aArgs),以單一元素

aParmas(0,1)= aArgs 

是錯誤的aParmas。由於這些單個元素包含一個字符串,因此您嘗試將一個數組分配給單個字符串,因此會出現錯誤消息。

但我想你是從錯誤的結局看這個。您需要開始計算您需要發送您想要呼叫的會話功能的參數。

這意味着:您需要找到$client->call的REALbasic功能。一旦你知道了那個函數,看看函數期望的參數。我懷疑它期望一個「參數」的二維數組。一旦你知道要通過這裏,讓我們知道,如果你仍然無法弄清楚如何讓它工作。