在数组php中使用if-else
作为php新手,我不知道如何在php数组中使用在数组php中使用if-else,php,arrays,Php,Arrays,作为php新手,我不知道如何在php数组中使用if-else。我试着做这样的事 function column_title($item){ $status=false; if($item->uTestimonials_approval =='0') $status=false; else $status=true; //Build row actions $acti
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)
);
}
有人能帮我找出我到底做错了什么吗?提前谢谢
我完全可以投反对票,但最好说明为什么有人会这样做,这样人们才能改善自己你不能为一个关键值这样做:
$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),
);
//生成行操作
$ap=‘批准’;
$key='approve1';
如果($状态){
$ap='取消审批';
$key='取消审批';
}
$actions=数组(
$key=>sprintf(“”,$\u请求['page'],$ap,$item->utestimationals\u id),:
'delete'=>sprintf('',$\u请求['page'],'delete',$item->utestimationals\u 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);
}
$actions=array(
'delete'=>sprintf('',$\u请求['page'],'delete',$item->utestimationals\u id),
);
如果($状态){
$actions['unapprove']=sprintf(“”,$\u请求['page'],'unapprove',$item->utestimationals\u id);
}
否则{
$actions['approve']=sprintf(“”,$\请求['page'],'approve',$item->utestimationals\u id);
}
当我必须使用密钥和值来对抗it@user如果在数组定义代码之前设置一个变量,那么只设置一个常规变量怎么样?@Col.shrapanel我添加了^ ^无需这样做,您可以对数组键使用速记符号。他只是没有指定它的else部分,这就是它抛出错误的原因。@Interstarr_Coder查看OP的代码,else被指定了,但在错误的位置。您打算通过执行$status做什么unapprove'?@Jeune我正在开发一些wordpress功能,根据批准状态,我需要显示某些要使用的文本,所以我正在使用它。为了让你知道,请完整地编写你的代码,所有这些sprintf和Trialum都非常不可读
$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);
}