Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示带有特殊字符的变量$&引用;或-&引用;以名义_Php_Mysql_Xml_Ascii_Utf - Fatal编程技术网

Php 显示带有特殊字符的变量$&引用;或-&引用;以名义

Php 显示带有特殊字符的变量$&引用;或-&引用;以名义,php,mysql,xml,ascii,utf,Php,Mysql,Xml,Ascii,Utf,如何删除-和$?使用php? 因为-和$符号在mysql中是有效的,但是当我尝试使用foreach显示它时,它就不起作用了。那么,在不编辑数据库表中的字段名的情况下,我应该如何删除它呢 stdClass Object ( [campaign-ID] => 1 [campaign_name] => Sample Campaign [start_duration] => 2012-04-17 [end_duration] => 2012-04-

如何删除-和$?使用php?
因为
-
$
符号在mysql中是有效的,但是当我尝试使用foreach显示它时,它就不起作用了。那么,在不编辑数据库表中的字段名的情况下,我应该如何删除它呢

stdClass Object
(
    [campaign-ID] => 1
    [campaign_name] => Sample Campaign
    [start_duration] => 2012-04-17
    [end_duration] => 2012-04-17
    [activity$] => 
    [survey_settings] => Ordering K-Cup Packs
    [$limit] => sample
    [$goal] => 
)
像这样

stdClass Object
(
    [campaign-ID] => 1
    [campaign_name] => Sample Campaign
    [start_duration] => 2012-04-17
    [end_duration] => 2012-04-17
    [activity$] => 
    [survey_settings] => Ordering K-Cup Packs
    [$limit] => sample
    [$goal] => 
)

我不知道你从哪里得到这个类,但是这里有很多无效的命名

范例

$goal
活动ID

我不得不重建你的课堂,看起来是这样的

$cleaned = new stdClass();
foreach($obj as $key => $val) {
  $newKey = str_replace(array('$','-'), '', $key);
  $cleaned->$newKey = $val;
}
print_r($cleaned);

我建议您创建更多有效的变量名称,而不是这样的转换

我不确定您从哪里得到这个类,但是这里有太多无效的命名

范例

$goal
活动ID

我不得不重建你的课堂,看起来是这样的

$cleaned = new stdClass();
foreach($obj as $key => $val) {
  $newKey = str_replace(array('$','-'), '', $key);
  $cleaned->$newKey = $val;
}
print_r($cleaned);

我建议您创建更多有效的变量名称,而不是这样的转换

删除无效的PHP字符与rm*.PHP一样简单。

删除无效的PHP字符与rm*.PHP一样简单。

当我尝试使用foreach显示它时,它不会工作-应该工作。请提供详细信息。这样做是错误的示例:echo$campaign->$limit;对吧?对不起,你是怎么上这门课的
$
不是有效的PHP变量,但在mysql中,可以使用美元($)符号命名字段。这就是我的意思@babaw当我尝试使用foreach显示它时,它不会工作-应该工作。请提供详细信息。这样做是错误的示例:echo$campaign->$limit;对吧?对不起,你是怎么上这门课的
$
不是有效的PHP变量,但在mysql中,可以使用美元($)符号命名字段。这就是我的意思@BabaI编辑了它,因为它导致了一个无限循环,你需要用清理过的键创建一个新对象。我编辑了它,因为它导致了一个无限循环,您需要使用已清理的键创建一个新对象。只需再次更新它,以便最终输出仍然有效。请再次更新它,以便最终输出仍然有效