2012-08-30 78 views
0

在index.php文件中出現此錯誤警告:非法串在PHP文件偏移「參數」

警告:非法串偏移「身份證」 警告:非法串偏移「性病」

<?php 
    global $options; 
    foreach ($options as $value) { 
     if (get_settings($value['id']) === FALSE) { 
      $$value['id'] = $value['std']; 
     } else {  
      $$value['id'] = get_settings($value['id']); 
     } 
    } 

在WordPress的嘗試加載新的主題的時候...

+0

給了$選項變量 –

+0

一些樣本數據是否確實'$ options'有'id'和'std'作爲補償? –

+0

嘗試'的foreach($選項$值){的var_dump($值); }'。它是一個「數組」還是「字符串」? – Tieran

回答

0

很難說,除非我們知道該模式的$options擱置出現此問題。 嘗試

$value->id代替$value["id"]

2

的[]結合比$$更強,即PHP首先評估$value['id'],然後將使用該值作爲名稱/標識符變量的變量。
使用大括號來更改優先級。

<?php 
$array = array('id'=>123); 
$value = 'array'; 
echo ${$value}['id']; 

打印123

5

對於以下兩點:

$value['id'] 
$value['std'] 

可變$value不是一個數組,但一個字符串。然後方括號就是子串訪問。由於該字符串是空的,您將收到錯誤消息。

演示:http://codepad.org/UDMtuO2x

+0

其實我的Microsoft Developer所以我不理解你,想用wordpress主題時,會出現這個錯誤,這樣你就可以重複正確的代碼,日Thnx –

相關問題