首先,让met这样说,而不是echo
, 您应该使用var_dump
或print_r
用于调试。乍一看,我看到您正在构建一个序列阵列$current_history_array
但您正在尝试将其用作关联数组。
$current_history_array[] = array ( current_time( "timestamp" ), $lastIP, $field, $value );
上述代码生成一个序列数组,例如:
array(
\'1424680884\',
\'77.77.777.777\',
$field,
$value
);
之后,您尝试访问
lastIP
密钥使用
$array[\'lastIP\']
但这样的钥匙并不存在。相反,最后一个IP存储在索引2中:
$array[2]
. 如果要使用关联数组,必须按如下方式构建:
$current_history_array[] = array (
//The structure is key => value
\'time\' => current_time( "timestamp" ),
\'lastIP\' => $lastIP,
\'field\' => $field,
\'value\' => $value
);
上述代码生成如下数组:
array(
//The structure is key => value
\'timestamp\' => \'1424680884\',
\'lastIP\' => \'77.77.777.777\',
\'field\' => $field,
\'value\' => $value
);
现在您可以访问
\'lastIP\'
钥匙组件
$array[\'lastIP\']
.
另外,请注意,您存储的是序列化数据,因此在将其用作数组之前,必须先取消序列化:
$hasIP = false;
$histMeta = get_post_meta($post->ID, \'history\', false);
foreach($histMeta as $array) {
$array = unserialize( $array );
if(isset($array[\'lastIP\'])) {
$hasIP = $array[\'lastIP\'];
break;
}
}
echo $hasIP;