小编use*_*182的帖子

如何动态编写PHP对象属性名称?

我的代码中有对象属性,如下所示:

$obj ->field_name_cars[0];
$obj ->field_name_clothes[0];
Run Code Online (Sandbox Code Playgroud)

问题是我有100个字段名称,需要动态编写属性名称.否则,对象名称和属性的键将始终相同.所以我尝试过:

$obj -> $field[0];
Run Code Online (Sandbox Code Playgroud)

希望动态更改属性的名称并访问正确的值.但是,我继续在stdClass :: $字段中获取'undefined property $ field;

或多或少我尝试在执行之前动态编写php,以便它可以输出正确的值.关于如何处理这个问题的想法?

php

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

如何仅在给定网页上提取已使用的CSS并将其组合到单独的样式表中?

我有一个网站的样式表变得势不可挡,并且某些页面上没有使用完整的50%到90%左右.我不想拥有23个单独的阻止CSS表单,而是想知道我想要在目标页面上使用哪些内容,并将这些内容导出到一个表单中.

我已经看到几个问题,推荐"Dust me选择器"或类似的添加,它将告诉选择器是什么和没有使用; 但这不是我想要的.我需要能够将该特定页面的所有工作表中的所有使用的样式导出到一个可用于替换其他23个页面的新工作表中.该解决方案应该能够支持响应式网站(媒体呼叫).我定位的网站页面是:http://tripinary.com.

我发现:https://unused-css.com但这是付费服务,我需要免费;

我遇到的下一个最接近的事情是http://www.csstrashman.com/,但这并没有看样式表.事实上,它完全忽略了它们,最终我在网站的响应能力方面遇到了麻烦.很多时候,这个网站只是崩溃了.

我不介意一个程序化的解决方案,如果有人不得不这样做,并可以推荐一个方向.

css

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

为什么在本地 k8s 环境中使用 nginx-ingress 控制器和资源时有时需要编辑 /etc/hosts?

不确定这是否特定于操作系统,但在我的 M1 Mac 上,我正在安装 Nginx 控制器和控制器官方快速入门指南中的资源示例。适用于 Mac 的 Docker 桌面。说明如下:

// Create the Ingress
helm upgrade --install ingress-nginx ingress-nginx \
  --repo https://kubernetes.github.io/ingress-nginx \
  --namespace ingress-nginx --create-namespace

// Pre-flight checks
kubectl get pods --namespace=ingress-nginx

kubectl wait --namespace ingress-nginx \
  --for=condition=ready pod \
  --selector=app.kubernetes.io/component=controller \
  --timeout=120s

// and finally, deploy and test the resource.
kubectl create deployment demo --image=httpd --port=80
kubectl expose deployment demo

kubectl create ingress demo-localhost --class=nginx \
  --rule=demo.localdev.me/*=demo:80

kubectl port-forward --namespace=ingress-nginx service/ingress-nginx-controller 8080:80
Run Code Online (Sandbox Code Playgroud)

我注意到说明没有提到必须编辑文件/etc/hosts,我觉得这很奇怪。而且,当我将其放入demo.localdev.me:8080 …

kubernetes kubernetes-ingress nginx-ingress

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

如何使用jQuery和PHP在多个页面上维护GET Url参数?

我有一个使用GET表单的站点允许用户指定邮政编码,然后根据该条目提供按距离排序的结果.如果没有zipcode,则只显示所有结果.

我的代码很棒.问题是当我从第1页更改为第2页时,我丢失了查询字符串.

由于其他技术原因,我无法使用POST方法.具体来说,我需要能够以某种方式保存此查询状态并检查所请求页面的URL,并重新查找该查询字符串(如果它为空).

有关如何做到这一点的任何想法?该网站使用了大量的jQuery,但我不确定jQuery是否有办法在多个页面中记住这个字符串.该网站也使用PHP.我不介意将结果存储在PHP会话变量中,然后以某种方式重建URL,但我希望它会比那更直接.谢谢你的想法

蓝色

php session jquery get

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

使用 Terraform 的 helm_release,如何设置数组或列表值?

例如,根据Drupal 的 helm 图表文档,默认值 isaccessModes转换["ReadWriteOnce"]为 YAML 中的以下内容:

...
accessModes
- ReadWriteOnce
Run Code Online (Sandbox Code Playgroud)

使用 Terraform helm_release资源时,以下内容不起作用,并且 yaml 文件始终显示上面的默认值:

  set {
    name  = "persistence.accessModes"
    value = "ReadWriteMany"
  }
Run Code Online (Sandbox Code Playgroud)
  set {
    name  = "persistence.accessModes"
    value = "[\"ReadWriteMany\"]"
  }
Run Code Online (Sandbox Code Playgroud)
  set {
    name  = "persistence.accessModes"
    value = "- ReadWriteMany"
  }
Run Code Online (Sandbox Code Playgroud)

terraform kubernetes-helm terraform-provider-azure

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

如何使用php在循环中向数组添加元素

我动态地尝试填充多维数组并遇到一些麻烦.

我有一份美国州名单.像我这样的$ states [nc],$ states [sc]等关联数组我希望将城市附加到每个州,所以$ states [nc] [cities]包含一系列城市.我坚持逻辑.

foreach($states as $state) {
    $data[$state] = $state;

    foreach($cities as $city) {
      $data[$state]['cities'] .= $city;
     }
}
Run Code Online (Sandbox Code Playgroud)

我知道连接不正确,但我不确定如何向此数组添加元素.我一直在使用array_push收到错误.

添加这些元素的正确方法是什么?

php arrays

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

帮助理解面向对象的PHP有点帮助

可能重复:
PHP方法链接?

我对PHP和OOP比较陌生,而且我无法理解在我的数据库代码中弹出的重复结构.

我理解如何创建一个类,实例化它,以及访问属性和方法,但$myobject->function()它现在和我一样复杂.

这个结构是什么?

$myobject->function()->something.我越来越多地看到这一点,特别是当我开始围绕mysql PDO查询.例如:

$query->function1($arg)
  ->function2($arg)
  ->function3($arg);
Run Code Online (Sandbox Code Playgroud)

这里发生了什么事?它是简单地在类中链接多个方法的一个调用,还是那些子函数function1()?类定义会是什么样的?

php oop

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

如何在Mac中同时执行PHP CLI脚本

我有50个php文件,我想从命令行同时运行.现在,我使用代码在多个CLI窗口中运行它们:

php Script1.php

我希望能够调用一个可以同时执行所有50个php文件的脚本文件.我一直在阅读有关如何使命令行不等待输出,但我似乎无法使其工作.

我是MAC和Scripting的新手 - 也许我不需要脚本?是否有另一个基于mac的解决方案可以做到这一点,而我不必打开50个独立的终端窗口?

php command-line-interface

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

如何递归搜索和替换未知深度多维 PHP 数组中的值?

我正在使用 JSON 字符串。我将其转换为关联数组以查找特定值并在找到某个键​​时更改这些值(['content'])。数组的深度总是未知的,并且总是变化的。

这是我写的函数。它接受一个数组作为参数并通过引用传递它,以便修改变量本身而不是它的一个副本,该副本在本地范围内适用于该函数。

$json_array = json_decode($json_string, true);

function replace_data(&$json_array, $data='REPLACE TEST')
{
   foreach($json_array as $key => $value) {
       if ($key == 'content' && !is_array($value)) {
           $json_array[$key] = $data;

       } else {
           if (is_array($value)) {
               replace_data($value, $data);
           }
       }
   }

}


replace_data($json_array, "test test test");
var_dump($json_array);
Run Code Online (Sandbox Code Playgroud)

我期望发生的是每次在任何深度找到键 ['content'] 时,它都会替换为 $data 参数中指定的值。

但是,当我var_dump($json_array)这些值不变。

我错过了什么?

php recursion json pass-by-reference multidimensional-array

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

在Vim中,我如何切换'i','j','k'和'h'的功能

我花了5周左右的时间学习Vim进行开发,虽然事情已经开始陷入困境,但我有一个令人沮丧的个人问题仍在绊倒我.

我一直在用'我'来'向上'.'k'向下,'j'和'l'分别左右.

我知道这一切都来自玩太多年的PC游戏,其中这些是方向运动.老实说,我不想再打它了,我宁愿做一些对我来说非常自然的事情.我怎样才能重新映射这些以便上面是方向移动而'h'是插入的?

2个问题:如何在我自己的机器上将这些永久存储在我的本地设置中以进行开发,以及当我在其他人的机器上工作时,如何快速切换这些.我的意思是,是否有一组命令可以调用,然后当我关闭Vim时它们会被删除?

vim

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