小编Dzh*_*eyt的帖子

以自定义格式获取阵列中最近7天的日期

如何以自定义格式(dd/mm)获取过去7天(包括今天)的确切日期?

在结果数组中,我希望得到类似的结果(日期只是示例):

1=>11/2 (today minus 7 days)
2=>12/2 (today minus 6 days)
...
7=>17/2 (today)
Run Code Online (Sandbox Code Playgroud)

php datetime

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

(x && y || z)和(x AND y OR z)之间的差异

我想知道是否存在使用的词语(例如任何缺点AND,OR)代替他们的代码当量(&&,||)用于比较?除了后者是与许多其他编程语言兼容的语法之外,还有其他理由选择它们吗?

php comparison operators

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

从自定义管理页面重定向生成"已发送的标题"

我在我的插件中注册了自定义管理页面add_submenu_page.在回调函数(生成管理页面内容的函数)中,我有以下代码:

wp_redirect('http://google.com');
exit;
Run Code Online (Sandbox Code Playgroud)

但是,当我访问管理页面时,我收到一个错误:

Warning: Cannot modify header information - headers already sent by (output started at ..\wp-admin\includes\template.php:1637) in ..\wp-includes\pluggable.php on line 878
Run Code Online (Sandbox Code Playgroud)

wordpress wordpress-plugin

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

PHP函数在哪里?(如在哪个文件中)

可能重复:
如何找出定义函数的位置?

我有一个相当复杂的OOP PHP项目,有很多类,库和帮助器可以使用.

在调试时,我有时发现当它存在于不同的文件或类中时很难找到特定函数的哪个实例被使用,而且我不知道在没有查看整个代码的情况下包含哪个类或库.

我想知道是否有语言结构,函数甚至外部工具(例如调试器)可以帮助我准确定位哪个文件以及特定功能位于哪一行.

例如:

moditem(25); // How I call the function usually
echo locate_function('moditem');
Run Code Online (Sandbox Code Playgroud)

要显示如下内容:

Function moditem() is located in file: lib/users.php, line 234.
Run Code Online (Sandbox Code Playgroud)

这是一个片段:

...
return TRUE;
}

function moditem($id){
    $modify = $this->modify($id);
    return $modify;
}
...
Run Code Online (Sandbox Code Playgroud)

我的IDE有一种方法可以引导我进入函数声明,但是当我有20个文件具有相同名称的不同版本的函数时会让我感到困惑.

php debugging

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

每天只更新一次

我的Android应用程序中有些东西需要每天更新一次.

我认为这很简单,但我不知道我需要格式化日期和时间的格式(如果需要时间)以及如何检查今天是否已完成更新(今天是在00:01 am到23之间:用户当地时间下午59点).如果今天已经完成更新,则不应该进行更新.

这是我所知道的怎么做:

  • 将最后更新日期保存在SharedPreferences中(但是如何获取它的字符串,我不知道)
  • 从SharedPreferences获取东西(但我不知道如何比较字符串格式的日期)

android date

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

使用MoxieManager时,从TinyMCE的"插入链接"对话框中删除"浏览"按钮

我已正确配置MoxieManager与TinyMCE集成,一切正常.但我想从"插入链接"对话框中删除"浏览"按钮(打开MoxieManager对话框).

因此,从下面的截图中,绿色应该保留,但红色应该去.

在此输入图像描述

tinymce

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

通过通知进行广播不在服务中的BroadcastReceiver中处理

我正在尝试在音乐播放服务运行时构建通知,并使用通知使用广播机制与服务进行交互(播放,暂停,停止).

(我知道也有可能在通知中使用PendingIntent.getService()作为操作按钮,但我不喜欢这个想法,因为这会触发服务的onStartCommand(),我需要解析和分析Intent对象采取行动,看起来不像BroadcastReceiver那样干净,如下所述.

让我们用一些(截断的)代码来说明我们到目前为止所拥有的内容.

  1. 我们在服务生命周期内创建Notification对象,添加操作按钮,并使用显示通知startForeground().

    ...
    Intent i = new Intent(getBaseContext(), PlayerService.class);
    PendingIntent piStop = PendingIntent.getBroadcast(getBaseContext(), 1, i, PendingIntent.FLAG_ONE_SHOT);
    NotificationCompat.Action actionStopPlayback = new NotificationCompat.Action(R.drawable.ic_stop_white_36dp, "Stop playback", piStop);
    notification.addAction(actionStopPlayback);
    ...
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后我们在服务的onCreate()注册一个BroadcastReceiver(当然在onDestroy中取消注册它;这是一个更简化的例子).

    IntentFilter intentFilter = new IntentFilter();
    registerReceiver(new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
             Log.d(getClass().toString(), "Broadcast received");
         }
    }, intentFilter);
    
    Run Code Online (Sandbox Code Playgroud)

最后的结果是接收器的onReceive()永远不会被调用.该服务是连续的,并且在通知操作发送广播时处于活动状态.由于我的性质无法调试广播,我在这里被封锁了.

android android-service android-notifications android-broadcastreceiver

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

Google Cloud Builder中同一构建步骤中的多个命令

我想在Google Cloud Builder环境上运行我们的自动化后端测试套件。但是,自然地,我碰巧需要在Cloud Builder中安装各种依赖项和先决条件,以便我们的最终测试php tests/run运行器()可以运行。

这是我当前的cloudbuild.yaml:

steps:

  - name: 'ubuntu'
    args: ['bash', './scripts/install-prerequisites.sh', '&&', 'composer install -n -q --prefer-dist', '&&', 'php init --overwrite=y', '&&', 'php tests/run']
Run Code Online (Sandbox Code Playgroud)

目前,多个命令的链接不起作用。唯一执行的是bash ./scripts/install-prerequisites.sh零件。如何使所有这些命令按顺序执行?

google-cloud-build

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

StringBuffer追加空格("")改为追加"null"

基本上我正在尝试做的是取一个字符串,并替换字母表中的每个字母,但保留任何空格而不是将它们转换为"空"字符串,这是我打开这个问题的主要原因.

如果我使用下面的函数并传递字符串"a b",而不是获得"ALPHA BETA",我得到"ALPHAnullBETA".

我已经尝试了所有可能的方法来检查当前迭代的单个字符是否是空格,但似乎没有任何效果.所有这些场景都给出错误,好像它是一个普通的角色.

public String charConvert(String s) {

    Map<String, String> t = new HashMap<String, String>(); // Associative array
    t.put("a", "ALPHA");
    t.put("b", "BETA");
    t.put("c", "GAMA");
    // So on...

    StringBuffer sb = new StringBuffer(0);
    s = s.toLowerCase(); // This is my full string

    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);

        String st = String.valueOf(c);
        if (st.compareTo(" ") == 1) {
            // This is the problematic condition
            // The script should just append a …
Run Code Online (Sandbox Code Playgroud)

java android

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

即使我正在覆盖CSS类,也会使用旧的宽度值

我有两个CSS文件,为了简单起见,我们称它们为style1.css和style2.css.

我按顺序包含它们:

<link rel="stylesheet" type="text/css" href="style1.css" />
<link rel="stylesheet" type="text/css" href="style2.css" />
Run Code Online (Sandbox Code Playgroud)

样式1是一个更通用的文件,包含许多类和属性.Style2会覆盖这些.

例如,style1有:

.row-fluid > .span9 {
width: 74.358974359%;
}
Run Code Online (Sandbox Code Playgroud)

而style2有:

.span9{
  width:50%;
}
Run Code Online (Sandbox Code Playgroud)

我有一些包含.span9元素的.row-fluid DIV,并且第一个样式用于它们,即使浏览器应该只接受最后一个CSS规则,如果找到重复的选择器.

我通过访问Chrome开发者工具发现了这一点,我看到来自style9的span9定义为交叉,而style1的定义位于顶部,而是用于替代.

PS:具体来说,style1是Twitter Bootstrap CSS,style2是我自己从头开始的CSS.

css twitter-bootstrap

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

EditText上的setText失败,出现NullPointerException

我有以下在单击菜单项后调用的函数.基本上我有一些字符串,我尝试设置为位于内部的TextView AlertDialog.

public void createAboutDialog() {
    View layout = mContext.getSystemService(LAYOUT_INFLATER_SERVICE).inflate(R.layout.about, null);

    TextView tv = (TextView) findViewById(R.id.myTextView);
    tv.setText("My text here");

    AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
    builder.setView(layout);

    AlertDialog alertDialog = builder.create();
    alertDialog.show();
}
Run Code Online (Sandbox Code Playgroud)

该问题似乎与setText()通话有关.

logcat的

08-01 14:19:33.423: D/MainActivity(1793): 1.0
08-01 14:19:33.473: D/AndroidRuntime(1793): Shutting down VM
08-01 14:19:33.473: W/dalvikvm(1793): threadid=1: thread exiting with uncaught exception (group=0x2b542210)
08-01 14:19:33.603: E/AndroidRuntime(1793): FATAL EXCEPTION: main
08-01 14:19:33.603: E/AndroidRuntime(1793): java.lang.NullPointerException
08-01 14:19:33.603: E/AndroidRuntime(1793):     at com.example.your.chinese.name.MainActivity.createAboutDialog(MainActivity.java:105)
08-01 14:19:33.603: E/AndroidRuntime(1793):     at com.example.your.chinese.name.MainActivity.onOptionsItemSelected(MainActivity.java:74)
08-01 14:19:33.603: E/AndroidRuntime(1793):     at …
Run Code Online (Sandbox Code Playgroud)

android

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

没有无限循环将TextWatcher类附加到多个EditText

我正在尝试根据以下任何输入(每小时,每天,每周,每月,每年)计算此人收到的薪水。输入其中一个时,应自动重新计算其他一个。

这是我的操作方法:

首先,Double在活动顶部定义了5个类型变量。它们是:每小时,每天,每周,每月,每年。然后,我有5个EditText字段,对应于这些变量。我已经附加了一个实现TextWatcher这5个EditText 的自定义子类。

例如:

etHourly = (EditText) findViewById(R.id.etHourly);
etHourly.addTextChangedListener(new EditTextWatcher(etHourly));
Run Code Online (Sandbox Code Playgroud)

这个自定义类具有一个构造函数,该构造函数接受并存储传递给它的视图,因为TextWatcher该类的默认方法无法提供找出哪个View调用了更改的方法。

在将传递的视图保存为自定义子类中的局部变量之后,我afterTextChanged在该子类中继续实现,并获取传递的EditText的值,并将其另存为Double活动顶部的相应定义变量。(例如,如果传递的EditText用于每周薪水,则将该EditText的值设置为weekly变量的双精度值。

最后,在该afterTextChanged方法结束之前,我调用了另一个自定义方法Recalculate(),该方法具有一堆,if()用于检查是否设置了每小时,每天,每周,每月或每年,是否设置setText()了剩余的EditText。问题在于,这setText()将为每个EditText调用TextWatchers,从而导致无限循环。

我该如何克服呢?

这里有一些代码可以更好地理解这一点。在onCreate之前:

Double hourly, daily, weekly, monthly, yearly = 0.0;
EditText etHourly, etDaily, etWeekly, etMonthly, etYearly;
Run Code Online (Sandbox Code Playgroud)

在onCreate()内部:

etHourly = (EditText) findViewById(R.id.etHourly);
etDaily = (EditText) findViewById(R.id.etDaily);
etWeekly = (EditText) findViewById(R.id.etWeekly);
etMonthly = (EditText) findViewById(R.id.etMonthly);
etYearly = (EditText) findViewById(R.id.etYearly);

etHourly.addTextChangedListener(new EditTextWatcher(etHourly));
etDaily.addTextChangedListener(new EditTextWatcher(etDaily));
etWeekly.addTextChangedListener(new EditTextWatcher(etWeekly));
etMonthly.addTextChangedListener(new …
Run Code Online (Sandbox Code Playgroud)

android textwatcher

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

哪个是更好的性能明智 - 如果(条件){结果} VS如果(条件)结果;

我知道两种情况下的性能差异都非常小,但我想知道哪种是更实用,性能更高的版本来编写PHP条件.

if(condition){
  result;
}
Run Code Online (Sandbox Code Playgroud)

VS

if(condition)
  result;
Run Code Online (Sandbox Code Playgroud)

php performance conditional curly-brackets

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