小编Kri*_*ann的帖子

将数组转换为独立的函数参数 - howto?

我想在函数调用中使用数组中的值作为独立参数.例:

// Values "a" and "b"
$arr = array("alpha", "beta");
// ... are to be inserted as $a and $b.
my_func($a, $b)
function my_func($a,$b=NULL) { echo "{$a} - {$b}"; }
Run Code Online (Sandbox Code Playgroud)

数组中的值的数量是未知的.

可能的解决方案:

  1. 我可以将数组作为单个参数传递 - 但更喜欢传递多个独立的函数参数.

  2. implode()将数组转换为逗号分隔的字符串.(失败,因为它只是一个字符串.)

  3. 使用单个参数:

    $str = "'a','b'";
    function goat($str);  // $str needs to be parsed as two independent values/variables.
    
    Run Code Online (Sandbox Code Playgroud)
  4. eval()吗?

  5. 遍历阵列?

建议表示赞赏.谢谢.

php arrays function

13
推荐指数
2
解决办法
6529
查看次数

在UIKit 3中有响应的导航栏?

我一直在将我的网站迁移到UIkit 3而不是Bootstrap 4.但是我已经被困在导航栏上一段时间了.现在,我的导航栏是在Bootstrap 4中构建的,看起来像这样:

https://jsfiddle.net/eztwL9p7/1/

<nav class="navbar navbar-toggleable-sm  sticky-top navbar-light bg-faded">
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse" id="navbarResponsive">
    <a class="navbar-brand">brand</a>
    <ul class="navbar-nav mr-auto">
      <li class="nav-item">
        <a class="nav-link">Blog <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Contact</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Projects</a>
      </li>
    </ul>
    <auth-partial>
      <ul class="nav navbar-nav">
        <li class="nav-item float-xs-right">
          <a href="#" class="nav-link">Log in</a>
        </li>
      </ul>
    </auth-partial>
  </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

所以它只是一个普通的导航栏,但当页面足够小时,会出现一个切换按钮,这些项目成为一个下拉列表.我一直在尝试将其迁移到UIKit,但我在他们的模板中没有看到任何选项.如果我理解正确,似乎我必须制作2个导航栏,一个用于普通视图,然后是一个较小的一个?

导航栏的文件表明,.uk-navbar-toggle阶级和.uk-navbar-toggle-icon被添加像下面-导致切换图标-但没有一个可扩展菜单,也不能隐藏指定的菜单项引导可以做到.

<nav class="uk-navbar uk-navbar-container uk-margin">
    <div class="uk-navbar-left">
        <a …
Run Code Online (Sandbox Code Playgroud)

javascript css getuikit

9
推荐指数
1
解决办法
3445
查看次数

jQuery中的Keypress:在TEXTAREA中按TAB(编辑现有文本时)

我想在TEXTAREA中插入TAB字符,如下所示:

<textarea>{KEYPRESS-INSERTS-TAB-HERE}Hello World</textarea>
Run Code Online (Sandbox Code Playgroud)

我可以插入前/后现有TEXTAREA文本-我可以插入/ 替换所有文本的文本区域-但至今尚未能插入以简单的方式将现有的TEXTAREA文本(光标).

$('textarea:input').live('keypress', function(e) {
    if (e.keyCode == 9) {
        e.preventDefault();

        // Press TAB to append a string (keeps the original TEXTAREA text).
        $(this).append("TAB TAB TAB AFTER TEXTAREA TEXT");

        // Press TAB to append a string (keeps the original TEXTAREA text).
        $(this).focus().prepend("TAB TAB TAB BEFORE TEXTAREA TEXT");

        // Press TAB to replace a all text inside TEXTAREA.
        $(this).val("INSERT INTO TEXTAREA / REPLACE EXISTING TEXT");

    }
});
Run Code Online (Sandbox Code Playgroud)

jQuery("Tabby")有一个"textarea中的选项卡"插件- 但是它有254行代码 - 我希望只有几行代码. …

javascript jquery keypress

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

如何在PHP5中链接对象:$ this-> foo-> bar-> baz()

如何在PHP5类中创建链接对象?例子:

$myclass->foo->bar->baz();
$this->foo->bar->baz();
Not: $myclass->foo()->bar()->baz();
Run Code Online (Sandbox Code Playgroud)

另见:http:
//www.talkphp.com/advanced-php-programming/1163-php5-method-chaining.html

php oop class chaining

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

将平面数组转换为分层的多维数组

我有一个带键值对的标准数组 - 我想用键将它转换成一个多维数组.困难似乎是我需要递归循环未知数量的新密钥并将它们转换为多维数组.总之,我想要这个:

$val[alfa.xray.uno] = "Some value";    
=> $val['alfa']['xray']['uno'] = "Some value";    
Run Code Online (Sandbox Code Playgroud)

示例:(代码失败,还需要处理N维 - 但你明白了......)

$arr['alfa.xray.uno'] = "Alfa X-Ray Uno";
$arr['alfa.yaho.duo'] = "Alfa Yaho Duo";
$arr['beta.xray.uno'] = "Beta X-Ray Uno";
$arr['beta.xray.duo'] = "Beta X-Ray Duo";
$arr['just-me'] = "Root-level item";

print_r( array_flat_to_multidimensional($arr) );

function array_flat_to_multidimensional($arr) {
    foreach($arr as $key=>$val) {
        $key = explode(".",$key);
        for($i=0; $i<count($key); $i++) {
            if($i==0) { $out[$key[$i]] = $val; }
            else if($i==1) { $out[$key[$i-1]][$key[$i]] = $val; }
            else if($i==2) { $out[$key[$i-2]][$key[$i-1]][$key[$i]] = $val; }
            else if($i==3) { $out[$key[$i-3]][$key[$i-2]][$key[$i-1]][$key[$i]] …
Run Code Online (Sandbox Code Playgroud)

php arrays recursion multidimensional-array

4
推荐指数
1
解决办法
2186
查看次数

弹出之前删除警告框

我试图用Grease Monkey和jQuery删除外部站点上的Alert框.

HTML:

<!DOCTYPE html>
<html>
<body>

<script>alert("Remove this Alert box with GreaseMonkey.");</script>

<p>Hello world</p>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

GreaseMonkey脚本(目前没有jQuery部分):

// ==UserScript==
// @name        Remove Alert box
// @include     http://www.example.com/alert_remove/
// ==/UserScript==

var node = document.getElementsByTagName('alert');
node.parentNode.removeChild(node);

if(window.alert) {
    alert("ALERT DETECTED");  // No response.
}
Run Code Online (Sandbox Code Playgroud)

我不认为这可以使用jQuery解决,因为jQuery代码仅在页面加载并且警报可见时触发($(document).ready).

我可以从DOM中删除alert元素吗?
我是否可以发送按键(13 = Enter)来处理警报?

谢谢.

javascript jquery greasemonkey

3
推荐指数
1
解决办法
5779
查看次数

带有多个SQL语句的PHP/SQLite:$ db-> Query()有效,$ this-> db_sqlite-> query()失败

我正在创建一个处理各种SQLite操作的类.我的问题是:当我创建一个包含多个语句的SQL字符串时,它在使用标准PHP => $ db-> query()时起作用...但是当从方法发出相同的请求时它会失败.似乎OO方法在我的SQL语句中第一个";" - 符号之后跳过所有内容.为什么这样,以及如何解决它?

谢谢.

// Fails - line 2 is not inserted, why?
$this->db_sqlite->query("
    INSERT INTO foo (name) VALUES('Via class multi-lines 1');
    INSERT INTO foo (name) VALUES('Via class multi-lines 2');
");

// Works - both lines are inserted.
$GLOBALS[db]->query("
    INSERT INTO foo (name) VALUES('Direct multi-lines 1');
    INSERT INTO foo (name) VALUES('Direct multi-lines 2');
");
Run Code Online (Sandbox Code Playgroud)

完整示例:

<?php

class db_sqlite {

    function __construct() {
        $this->connect();
    }

    function connect() {
        $GLOBALS[db] = new SQLiteDatabase("dbsqlite.php.db");
    }

    function query($sql) {
        return …
Run Code Online (Sandbox Code Playgroud)

php sql sqlite oop

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

带有PHPs date()函数的16位时间戳

如何使用PHP的date()函数使用以下16位数时间戳(来自XML文件)?

1295076698126000  // 15-01-2011 08:31:38.126
1286697695521000  // 10-10-2010 10:01:35.521
Run Code Online (Sandbox Code Playgroud)

php xml timestamp

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

OOP中的静态和动态变量/方法是什么?

我想更好地理解OOP中的基本概念.面向对象编程中的静态和动态变量和方法是什么?例如,使用$ this与双冒号(::)之间的区别是什么?

$ this($ this-> a_method())

  • 好处: ?.
  • 缺点:?......"这个"不是自我记录的,如:$this->method_from_an_extended_class().

双冒号(someclass :: a_method())

  • 好处: ?
  • 缺点:?

php oop dynamic static-members

0
推荐指数
1
解决办法
4497
查看次数