• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

thinkPHP 获取 字段名,还有更加简单的办法吗?

php 搞代码 4年前 (2022-01-23) 37次浏览 已收录 0个评论
文章目录[隐藏]

thinkphp 3.2

<code>$use=D('classone');$db=$use->select(5);$arr = $db[0] ? $db[0] : '';foreach($arr as $key => $value){       $arrKey[] =  $key;}</code>

这个,我把 字段 的名字,获取成了一个数组 $arrKey ,但是我觉得这个办法比较笨,应该有直接就获取的办法,请问有没有???

回复内容:

thinkphp 3.2

<code>$use=D('classone');$db=$use->select(5);$arr = $db[0] ? $db[0] : '';foreach($arr as $key => $value){       $arrKey[] =  $key;}</code>

这个,我把 字段 的名字,获取成了一个数组 $arrKey ,但是我觉得这个2本文来源gaodaima#com搞(代@码$网6

搞gaodaima代码

办法比较笨,应该有直接就获取的办法,请问有没有???

tp5么

<code>/**     * 获取数据表信息     * @access public     * @param string $tableName 数据表名 留空自动获取     * @param string $fetch 获取信息类型 包括 fields type bind pk     * @return mixed     */    public function getTableInfo($tableName = '', $fetch = '')    {        static $_info = [];        if (!$tableName) {            $tableName = $this->getTable();        }        if (is_array($tableName)) {            $tableName = key($tableName) ?: current($tableName);        }        if (strpos($tableName, ',')) {            // 多表不获取字段信息            return false;        }        $guid = md5($tableName);        if (!isset($_info[$guid])) {            $info   = $this->connection->getFields($tableName);            $fields = array_keys($info);            $bind   = $type   = [];            foreach ($info as $key => $val) {                // 记录字段类型                $type[$key] = $val['type'];                if (preg_match('/(int|double|float|decimal|real|numeric|serial)/is', $val['type'])) {                    $bind[$key] = PDO::PARAM_INT;                } elseif (preg_match('/bool/is', $val['type'])) {                    $bind[$key] = PDO::PARAM_BOOL;                } else {                    $bind[$key] = PDO::PARAM_STR;                }                if (!empty($val['primary'])) {                    $pk[] = $key;                }            }            if (isset($pk)) {                // 设置主键                $pk = count($pk) > 1 ? $pk : $pk[0];            } else {                $pk = null;            }            $result       = ['fields' => $fields, 'type' => $type, 'bind' => $bind, 'pk' => $pk];            $_info[$guid] = $result;        }        return $fetch ? $_info[$guid][$fetch] : $_info[$guid];    }</code>

总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景 http://baijunyao.com/article/59


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:thinkPHP 获取 字段名,还有更加简单的办法吗?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址