我有一个类型为Array的PHP变量,我想知道它是否包含特定值并让用户知道它在那里.这是我的阵列:
Array ( [0] => kitchen [1] => bedroom [2] => living_room [3] => dining_room)
Run Code Online (Sandbox Code Playgroud)
我想做点什么:
if(Array contains 'kitchen') {echo 'this array contains kitchen';}
Run Code Online (Sandbox Code Playgroud)
做上述事情的最佳方法是什么?
我的登录表单中有一个函数,用于检查电子邮件和密码是否与数据库中的值匹配,如果是,则将用户登录到系统中.
如果此函数返回false,我想显示验证错误.
我的问题是我不确定如何创建它.该消息与密码和电子邮件字段有关,因此我不希望每个输入字段的规则只显示一条消息.
我已经尝试使用flashdata来实现这一点但它只在页面刷新时才有效.
如何仅为函数创建新的验证规则$this->members_model->validate_member()?
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
$this->form_validation->set_rules('email_address', '"Email address"', 'trim|required|valid_email');
$this->form_validation->set_rules('password', '"Password"', 'trim|required');
if ($this->form_validation->run() == FALSE)
{
$viewdata['main_content'] = 'members/login';
$this->load->view('includes/template', $viewdata);
}
else
{
if($this->members_model->validate_member())
{
Run Code Online (Sandbox Code Playgroud) 由于原因,我想知道将codeigniter url的下划线更改为短划线的最简单的解决方案.
我的控制器看起来像:
public function request_guide() {
...Load view etc...
}
Run Code Online (Sandbox Code Playgroud)
所以要浏览到这个页面,我将不得不去:
www.domain.com/request_guide
Run Code Online (Sandbox Code Playgroud)
但是我想要更友好,并使用破折号而不是下划线,如下所示:
www.domain.com/request-guide
Run Code Online (Sandbox Code Playgroud)
我认为codeigniter函数需要下划线(可能是错误的).
在之前的项目中,我只使用了mod_rewrite,但我相信这些操作可以使用路由来执行.
我用最简单的方法重写url替换下划线的最简单方法是什么?
我有以下字符串,并希望使用str_replace或preg_replace删除括号但不确定如何.我已经能够使用str_replace删除左括号,但无法删除右括号.
这是刺痛:
$coords = '(51.50972493425563, -0.1323877295303646)';
Run Code Online (Sandbox Code Playgroud)
我试过了:
<?php echo str_replace('(','',$coords); ?>
Run Code Online (Sandbox Code Playgroud)
删除了开头括号,但我现在认为我需要preg_replace来删除它们.
怎么会这样呢?
帮助赞赏
我foreach在我的应用程序中有一条声明回显了我的数据库结果列表:
<?php
foreach($featured_projects as $fp) {
echo '<div class="result">';
echo $fp['project_name'];
echo '</div>';
}
?>
Run Code Online (Sandbox Code Playgroud)
在每第三个结果上,给div一个不同的类.我怎样才能做到这一点?
我的数据库中有一个datetime字段,其中包含以下信息:
2012-05-03 17:34:01
Run Code Online (Sandbox Code Playgroud)
我想检查datetime字段和now之间的区别:
$now = date("Y-m-d H:i:s");
Run Code Online (Sandbox Code Playgroud)
我试图计算从现在到写入数据库字段的时间已经过了多少天.
我怎样才能做到这一点?
如果我的查询没有返回结果,我怎么能返回'找不到数据'的值?
这是我的代码:
function getTerms($letter) {
$this->db->select('term, definition');
$this->db->from('glossary');
$this->db->where(array('letter' => $letter));
$query = $this->db->get();
foreach ($query->result() as $row) {
$data[] = array(
'term' => $row->term,
'definition' => $row->definition
);
}
return $data;
}
Run Code Online (Sandbox Code Playgroud)
它当前返回$ data变量,即使查询没有返回给我php错误的结果.如何在返回$ data数组之前检查是否有结果.
在我的codeigniter控制器函数中,我使用以下代码生成我的视图并插入所有必要的内容:
$left_column = $this->load->view('widgets/sub_navigation', $subnav_data, true);
$left_column .= $this->load->view('widgets/search_box', '', true); //Set data to be loaded into columns
$left_column_base = $this->load->view('widgets/assist_navigation', '', true);
$center_column = 'this is center column';
$right_column = $this->load->view('widgets/ask_us_a_question', '', true);
$right_column .= $this->load->view('widgets/newsletter', '', true);
$right_column .= $this->load->view('widgets/latest_news', '', true);
$this->template->inject_partial('left_column', $left_column); //Inject data into the partial columns
$this->template->inject_partial('left_column_base', $left_column_base);
$this->template->inject_partial('center_column', $center_column);
$this->template->inject_partial('right_column', $right_column);
$this->template->build('template',$data);
Run Code Online (Sandbox Code Playgroud)
我使用的是三列布局,上面的代码指示了每个列中显示的内容.它以非常模块化的方式工作,允许我快速自定义每个页面.
有没有办法简化上面的代码,使用数组可能,减少重复代码,使事情更干?
我有一个foreach循环,它在我的搜索结果中回显了每个属性类型.代码如下:
<?php
foreach($search_results as $filter_result) {
echo $filter_result['property_type'];
}
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码返回:
house house house house flat flat flat
Run Code Online (Sandbox Code Playgroud)
我想做一些类似于mysql'distinct'的东西,但我不知道如何在foreach语句中做到这一点.
我想要上面的代码返回:
每次都不要重复每个项目.有任何想法吗??
我在codeigniter中有一个表单,并希望我的输入和set_value()都有一个默认值.
这是我的意见:
echo form_input('job_position',set_value('job_position'));
Run Code Online (Sandbox Code Playgroud)
我有一个设定值并且正在工作,但是如何添加默认值'12'?
php ×8
codeigniter ×5
echo ×2
foreach ×2
arrays ×1
datetime ×1
distinct ×1
dry ×1
forms ×1
helper ×1
loops ×1
mysql ×1
preg-replace ×1
return ×1
str-replace ×1
string ×1
templates ×1
validation ×1
variables ×1