是新的php我不能弄清楚如何使用php数组内的if else
。我试过这样做
function column_title($item){
$status=false;
if($item->uTestimonials_approval =='0')
$status=false;
else
$status=true;
//Build row actions
$actions = array(
$status ? 'unapprove' => sprintf('<a href="?page=%s&action=%s&id=%s">Unapprove</a>',$_REQUEST['page'],'unapprove',$item-> uTestimonials_id),:
'approve1' => sprintf('<a href="?page=%s&action=%s&id=%s">Approve</a>',$_REQUEST['page'],'approve',$item-> uTestimonials_id),
'delete' => sprintf('<a href="?page=%s&action=%s&id=%s">Delete</a>',$_REQUEST['page'],'delete',$item-> uTestimonials_id),
);
//Return the title contents
return sprintf('%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
/*$1%s*/ $item-> uTestimonials_message,
/*$2%s*/ $item-> uTestimonials_id,
/*$3%s*/ $this->row_actions($actions)
);
}
但我得到以下解析异常
Parse error: syntax error, unexpected T_DOUBLE_ARROW
有没有人能帮我找出我到底做错了什么,提前谢谢
我完全可以反对投票,但最好说明为什么有人这样做,这样那个人就可以提高自己
您不能对键值执行此操作:
$status ? 'unapprove'
试试这样:
//Build row actions
$ap = 'approve';
$key = 'approve1';
if($status){
$ap = 'unapprove';
$key = 'unapprove';
}
$actions = array(
$key => sprintf('<a href="?page=%s&action=%s&id=%s">'.$ap.'</a>',$_REQUEST['page'],$ap,$item-> uTestimonials_id),:
'delete' => sprintf('<a href="?page=%s&action=%s&id=%s">Delete</a>',$_REQUEST['page'],'delete',$item-> uTestimonials_id),
);
不能在数组定义中这样做。
相反,您可以像这样将它们添加到定义后的数组中:$actions = array(
'delete' => sprintf('<a href="?page=%s&action=%s&id=%s">Delete</a>',$_REQUEST['page'],'delete',$item-> uTestimonials_id),
);
if ($status) {
$actions['unapprove'] = sprintf('<a href="?page=%s&action=%s&id=%s">Unapprove</a>',$_REQUEST['page'],'unapprove',$item-> uTestimonials_id);
}
else {
$actions['approve'] = sprintf('<a href="?page=%s&action=%s&id=%s">Approve</a>',$_REQUEST['page'],'approve',$item-> uTestimonials_id);
}