小编hai*_*ets的帖子

如何在php中检查数组是否包含特定值?

我有一个类型为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)

做上述事情的最佳方法是什么?

php arrays

60
推荐指数
3
解决办法
13万
查看次数

创建自定义codeigniter验证规则

我的登录表单中有一个函数,用于检查电子邮件和密码是否与数据库中的值匹配,如果是,则将用户登录到系统中.

如果此函数返回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)

php validation codeigniter

22
推荐指数
2
解决办法
3万
查看次数

如何用破折号替换codeigniter url中的下划线?

由于原因,我想知道将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替换下划线的最简单方法是什么?

php codeigniter url-rewriting

20
推荐指数
4
解决办法
2万
查看次数

如何从PHP中的字符串中删除括号?

我有以下字符串,并希望使用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来删除它们.

怎么会这样呢?

帮助赞赏

php string preg-replace str-replace

14
推荐指数
2
解决办法
4万
查看次数

如何在php中的foreach语句的每第三个结果上输出一个值?

foreach在我的应用程序中有一条声明回显了我的数据库结果列表:

<?php

foreach($featured_projects as $fp) {
  echo '<div class="result">';
  echo $fp['project_name'];
  echo '</div>';
}

?>
Run Code Online (Sandbox Code Playgroud)

我想要:

在每第三个结果上,给div一个不同的类.我怎样才能做到这一点?

php foreach echo

10
推荐指数
2
解决办法
1万
查看次数

如何在PHP中计算datetime字段和现在的差异?

我的数据库中有一个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)

我试图计算从现在到写入数据库字段的时间已经过了多少天.

我怎样才能做到这一点?

php datetime

9
推荐指数
2
解决办法
3万
查看次数

Codeigniter - 如果数据库查询未返回任何结果,则执行操作

如果我的查询没有返回结果,我怎么能返回'找不到数据'的值?

这是我的代码:

    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数组之前检查是否有结果.

mysql variables codeigniter return

6
推荐指数
2
解决办法
2万
查看次数

Codeigniter - 使我的控制器更干燥

在我的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)

我使用的是三列布局,上面的代码指示了每个列中显示的内容.它以非常模块化的方式工作,允许我快速自定义每个页面.

有没有办法简化上面的代码,使用数组可能,减少重复代码,使事情更干?

php model-view-controller templates codeigniter dry

6
推荐指数
2
解决办法
1510
查看次数

从php中的foreach循环返回不同的值?

我有一个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语句中做到这一点.

我想要上面的代码返回:

  • 平面

每次都不要重复每个项目.有任何想法吗??

php foreach loops distinct echo

6
推荐指数
2
解决办法
2万
查看次数

如何在codeigniter表单中同时具有默认值和设置值?

我在codeigniter中有一个表单,并希望我的输入和set_value()都有一个默认值.

这是我的意见:

echo form_input('job_position',set_value('job_position'));
Run Code Online (Sandbox Code Playgroud)

我有一个设定值并且正在工作,但是如何添加默认值'12'?

forms codeigniter helper default-value

6
推荐指数
1
解决办法
9605
查看次数