Php 检查作为对象一部分的数组是否为空
这是在Drupal中实现的,但应该适用于普通PHP 字段事件地址是在Php 检查作为对象一部分的数组是否为空,php,drupal,if-statement,Php,Drupal,If Statement,这是在Drupal中实现的,但应该适用于普通PHP 字段事件地址是在$entity\u fetched下的数组 <?php if ($entity_fetched->field-event-address != "") echo $entity_fetched->field-event-address['und']['0']['value']; ?> 如果我保持打开状态,则会出现以下错误: Parse error: syntax error, unexpected '[
$entity\u fetched
下的数组
<?php if ($entity_fetched->field-event-address != "") echo $entity_fetched->field-event-address['und']['0']['value']; ?>
如果我保持打开状态,则会出现以下错误:
Parse error: syntax error, unexpected '[', expecting ',' or ';' in /opt/staging/contitemp/public_html/sites/all/modules/rules/modules/php.eval.inc(125) : eval()'d code on line 7
我试图创建一个if语句,检查对象下的数组是否为空,如果不是,则回显数组内容
我真的很抓狂——如果数组在对象下,我应该能够检查它是否为空,对吗?
-
符号不能在PHP中的变量名称中使用。正因为如此,您得到了语法错误(或者在PHP试图理解您的意思时得到了未定义的常量)
相反,您可以将名称更改为
$entity\u fetched->fieldEventAddress
(它仍然可读,现在是正确的)。对于Drupal,您确实应该使用实体元数据包装器
因此,您的代码类似于:
$wrapper = entity_metadata_wrapper('entity_type', $fetched_entity);
$value = $wrapper->field_name->value();
if (!empty($value)) echo $value;
您可以在此处找到有关实体元数据包装器的更多信息:
var_dump($entity_fetched->field event address)给了你什么?啊,Drupal这样做让我很困惑——它有一个使用-字符的令牌系统,而当它切换到PHP变量时,它会将它切换到一个u字符。非常感谢。
$wrapper = entity_metadata_wrapper('entity_type', $fetched_entity);
$value = $wrapper->field_name->value();
if (!empty($value)) echo $value;