Ask Question Forum:
Model Library:2025-02-08 Updated:A.I. model including DeepSeek is online for auto reply question page
C
O
M
P
U
T
E
R
2
8
Show
#
ASK
RECENT
25-06-28 16:30:14
Wilson Edwards
Reply:3
Post_ID:829370google adsense
as TitlePlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-06-28 16:00:17
Wilson Edwards
Reply:0
Post_ID:829369googles adsense
As TitlePlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-06-27 11:44:47
Wilson Edwards
Reply:2
Post_ID:829367googleads;drive traffic;adsense
I read some outside third-party company to prompt driving web traffic to my website to increase my google adsense revenue.How are they able to do ?During driving traffice to my website, it will create google adsense impression or not ?Google will treat that impression is invalid ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-06-27 11:02:02
Wilson Edwards
Reply:0
Post_ID:829368googleads;invalid traffic
I read some outside third-party company to prompt driving web traffic to my website to increase my google adsense revenue.How are they able to do ?During driving traffice to my website, it will create google adsense impression or not ?Google will treat that impression is invalid ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-05-05 20:08:11
test test
Reply:3
Post_ID:829366googlebot;crawler;cloudflare
Accept
How my website can use cloudflare with"Under Attack Mode" and be able to allow goolge bot, crawler to crawl my website pages at the same time ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-17 16:26:31
Wilson Edwards
Reply:1
Post_ID:829365css;html
Accept
as title Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-14 19:42:56
Wilson Edwards
Reply:5
Post_ID:829364javascript
Accept
Please adviseThanks
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-14 01:47:39
Wilson Edwards
Reply:2
Post_ID:829363javascript
I have set iframe addEventListener with mousedown event, it works becoz the iframe source is same domain ofthe current page..For example<iframe id=''myiframe" src='https://samedomian.com//test.html'></iframe><script>document.getElementById("myiframe").addEventListener('mousedown, function () {console.log('mousedown event detected');});</script>But when I change iframe src to external domain or cross-domin such as https://example.comit doesn't work, the reason it is blocked by cross-dmain policyAny mothed to solve this issue, how to detect mousedown event on iframe ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-14 01:22:51
Wilson Edwards
Reply:2
Post_ID:829362javascript
For example, I have a link in DIV-A tag now I can not click the link in DIV-A because it is covered by DIV-B I want to click the link DIV-A anyway. I tried this example, it work at https://computer28.com/learn/pointer-events.php Any other good example or other method to achieve this ? Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-28 09:26:04
Wilson Edwards
Reply:5
Post_ID:829361google_drive;php;centos8
I would like to download all my google_drive files by using php program code onmy linux centos 8 system server, how to it ?How to get the google API key to start download for php program ?Since the download file size is very huge, how can I speed up the download the file ifits size is more 100G size ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-12 23:38:28
Wilson Edwards
Reply:1
Post_ID:829360javascript;html;css
Accept
I would like to create child node inside of body tag and enclosing all elements inside body tagby javascript code;For example:Before:<html><body><div></div><a></a><span></span></body></html>After, if I would like to see this reuslt, creating new div tag enclose everything inside of body tag, new div tag 's id is new_child_nodeAfter:<html><body><div id='new_child_node'><div></div><a></a><span></span></div></html></body>Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-03 21:46:28
test test
Reply:4
Post_ID:829359cloudflare;proxy;socket;python;centos 8;apache
I am using cloudflare to protect my website recently,but I have a page which is using python socket to send streaming data to visitor with 5000 portsuch as http://mywbesite.com:5000.Before using clouldflare, visitor can get data from port 5000, now after usingcloudflare, all visitors to my website can not get any data from port 5000.Now I pause cloudflare, the python socket port is working back again..The question is I would to like to keep all cloudflare service such as proxy but python socket port need to work for exception by cloudflare, how can I do that ?My Simple python socket code:from flask import Flask, render_template, request, session,jsonifyfrom flask_sse import ssefrom flask_socketio import SocketIO, emit, join_roomimport platformimport loggingfrom flask_cors import CORSimport socket....if __name__ == "__main__": app.run(host="0.0.0.0",debug=False, port=5000, ssl_context=("mycert")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-02 21:19:15
test test
Reply:3
Post_ID:829358cloudflare;VPN;proxy;linux;apache
My website is using cloudflare internt traffic protection.I am using php code to monitor all internet ip through chrome browser to my websitefor example, monitoring $_SERVER['HTTP_X_FORWARDED_FOR'] and$_SERVER['REMOTE_ADDR'];I try it in those different computers with different ISP ip, I found the result as followsCase-1 Computer A,$_SERVER['HTTP_X_FORWARDED_FOR']="51.58.202.19";$_SERVER['REMOTE_ADDR']="172.64.0.0"where51.58.202.19 is my Compuer A ISP ip and172.64.0.0 is cloudflare use proxy server to get the webpage for Computer A.Case-2 Computer B,$_SERVER['HTTP_X_FORWARDED_FOR']="61.85.102.11";$_SERVER['REMOTE_ADDR']="61.85.102.11"where61.85.102.11is my Compuer B ISP ip and$_SERVER['HTTP_X_FORWARDED_FOR']=$_SERVER['REMOTE_ADDR']My question is Why in case-1 Cloudflare will use proxy to get webapge for computer A butcloudfare don't use proxu to get wbepage for computer B in which both php ip is same from$_SERVER['HTTP_X_FORWARDED_FOR']=$_SERVER['REMOTE_ADDR'] ?Second question, in what condition ro when Cloudflare use proxy or not use proxy to get webpage for browser visitor?Final question isIf cloudflare use proxy , it mean visitors of Computer A, ISP IP maybe bot or maliciousor suspected IP , Can I release Google Ads on my webste and allow the vistior of Computer A to click the ads ? If the visitors click the ads, it mean the click is excuted from Computer A, ISP IP or from Cloudflare 's proxy IP ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-02 12:50:13
test test
Reply:2
Post_ID:829357cloudflare;google chrome;apache
Question 1- Cloudflare show warning, too may redirect on chrome solvedAnswer: solved by removing all redirect from http to https since cloudflare will handleall redirect from http.Since in apahce httpd.conf, we added the following for http to https and except some directorybased on this linkhttps://stackoverflow.com/questions/5818146/how-to-force-rewrite-to-https-except-for-a-few-pages-in-apache#RewriteEngine on#RewriteCond %{SERVER_NAME} =computer28.com [OR]#RewriteCond %{SERVER_NAME} =www.computer28.com#RewriteRule ^https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]#RewriteEngine on#RewriteCond %{HTTPS} =off#RewriteCond %{REQUEST_URI} !^\/local\/#RewriteCond %{REQUEST_URI} !^\/world\/#RewriteRule (.*)https://%{HTTP_HOST}/$1[L,R=301]#RewriteCond %{HTTPS} =on#RewriteCond %{REQUEST_URI} \/fid\/ [OR]#RewriteCond %{REQUEST_URI} \/php\/#RewriteRule (.*)http://%{HTTP_HOST}/$1[L,R=301]Comment it all, it works nowQuestion-2:How to Fix ERR_QUIC_PROTOCOL_ERROR Message in Chrome Browserwhen using cloudflareAnswer-2https://kinsta.com/knowledgebase/err_quic_protocol_error/https://www.hostinger.com/tutorials/how-to-fix-err-quic-protocol-errorchrome://net-internals/#dnsHTTP/3 Cheker:https://http3check.net/?host=computer28.comhttps://kinsta.com/knowledgebase/flush-dns/on Window 10:ipconfig /flushdns //clear all DNS cachingFinal, if still can not solve question-2, delete cloudflare account and then re-create new other account using other gmail accout to see any help from resetting all cloudflare default setting.Need to wait 1-day or 2-day. to see theERR_QUIC_PROTOCOL_ERROR will be sovledor not...If above answer can not be solved, any suggestion or solution to solve those those bothquestions,Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-01 19:03:13
Wilson Edwards
Reply:2
Post_ID:829356centos 8
as title for the question, I read the link,https://devco.re/blog/2014/06/19/client-ip-detection/ it works , for php as following code., Any other method besides php code, to dectect the ip is real ip not VPN not TOR IP not proxy IP?<?php if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $myip = $_SERVER['HTTP_CLIENT_IP']; }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $myip = $_SERVER['HTTP_X_FORWARDED_FOR']; }else{ $myip= $_SERVER['REMOTE_ADDR']; } echo $myip; ?>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-01 17:56:38
Wilson Edwards
Reply:2
Post_ID:829355google ads;cloudflare
Google Ads can be shown if my website is using cloudflare protection ? and next question isCloudflare can protect my websie from Bot Fraud Click on my website Google Ads.My Cloudflare account is free version Cloudflare.Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-28 00:17:59
Wilson Edwards
Reply:4
Post_ID:829354google;reCAPTCHA
I just created reCAPCHA fromg google site athttps://www.google.com/recaptcha/admin/createand following his instruction, created my first reCAPCHA html page such as follows<!DOCTYPE html><html lang="en"><head><script async defer src="https://www.google.com/recaptcha/api.js"></script></head><body><div class="g-recaptcha" data-sitekey="6LcIhOQqAAAAAGbMD-QaT-xjh9VYF87D7w6uMw4n"></div></body></html>The page is successful and show google reCAPCHA, but it will ask me to do image testCan I bypass the image test, just tick the I am not a rebot box only ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-26 04:32:58
Ty Yt
Reply:1
Post_ID:829353Linux apache
As tilte
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-25 04:28:14
Wilson Edwards
Reply:2
Post_ID:829352centos;linux
I am using linux command, host, to check the revserse ip , some is not found but if I am using, online tool, that IP is normal, not abusive ipHow to check the IP is abusive ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-23 19:30:17
Wilson Edwards
Reply:3
Post_ID:829351香港樓市;Hongkong housing price
Accept
香港樓市, 現在買 Okay ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-23 17:06:22
Wilson Edwards
Reply:4
Post_ID:829348google adsense
Accept
my website server is new or small server, recently, just start up my server width Google Adsense ads into my site.DUring, these past 7-day, I get page view not much, but have 50 impression and 20 click dailyI check all my apache log file, those access to my wbesite is not too freqently, butToday Google banned my Google Adsense Account, including this time, Google already banned my site for 5-time.The reason is invalid traffic, I have already followed all rules from GooglePlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-20 15:15:06
su e
Reply:1
Post_ID:829347excel vba 技術趨勢圖陰陽燭
excel vba 技術趨勢圖陰陽燭
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 17:05:47
w kk
Reply:3
Post_ID:829345葵芳地鐵站葵涌廣場鋪位
葵芳地鐵站葵涌廣場鋪位
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 16:46:59
w kk
Reply:1
Post_ID:829344why we use
as tile
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 16:43:41
w kk
Reply:1
Post_ID:829343bitcoin
as title
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 16:33:55
w kk
Reply:2
Post_ID:829342as title
Accept
as title
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-15 21:18:40
Wilson Edwards
Reply:7
Post_ID:829340google;adsense;crawler
Accept
I just want disallow Google search indexing engine to access all my files and all my directories except some files such as index.php and music.png and let ads.txt can be crawled by Google Adsense Crawler Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-12 00:53:08
Norton Alex
Reply:1
Post_ID:829260javascript
my question is same as the title And, I search it on internet, the closer one is this link https://stackoverflow.com/questions/3538021/why-do-we-use-base64 Any good article about this topic Regards
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-12 00:48:17
Wilson Edwards
Reply:2
Post_ID:829290window10/11;apache;centos;php;html
Accept
After clicking some Googe Ads and leave the ads site or delete the tab, your browser may forwards you to other site which may give you message such as "Congrulation,! You Get Prize, Bonus, Coupon.etc" Probably your browser is infected by virus and the Congurlation site is hacker /attacker virus site.. I will think the following methods to solve my problem, Please advise those methods are correct 1- Right away or now, remove the forwars site(Congrulation site) or delete such browser Tab 2- Look at this image: https://computer28.com/image/deletecache.jpg Delete or clean your chrome browser data At Chrome browser, Click Sitting->Privacy Security->Delete Browser Data, it will pop up window, in that window, Click Advanced->Select Time Range(All Time)->Tick all box below Time range such as Browsering History..etc. Click Delete Data button 3-If using Window 10, Turn on Microsoft Defender Virus Protection System, always turn it on https://carleton.ca/its/help-centre/how-to-enable-windows-defender-on-personal-pc/ You are better to install Microsoft Window 11 if u are using WIndow 10 4- Add X-Content-Type-Options: nosniff on header at my apache server
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-12 00:32:47
Norton Alex
Reply:3
Post_ID:829339centos;apache;php;html
Accept
as title with the topic tag
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 17:12:06
test test
Reply:2
Post_ID:829338centos;linux;A.I.
I would like to stop all A.I. access my website through VPN or TOR browser,How I know the A.I. is accesing into my website pagesPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 17:07:11
Wilson Edwards
Reply:1
Post_ID:829291javscript;google_cookie
For latest browser, u can only read cookie value by javascript code. Remove and Update cookie by javascript is very difficult...To read all cookie, u can go to devtool, Mouse Right-click->inspect->Application->Cookieu can see all website cookie u are accessing..You can remove all cookie for the website..by php codingFor example:<?phpif(isset($_SERVER['HTTP_COOKIE'])&&stripos("#".$_SERVER['QUERY_STRING'],'gt=3')>0){$cookies = explode(';', $_SERVER['HTTP_COOKIE']);foreach($cookies as $cookie) {$parts = explode('=', $cookie);$name = trim($parts[0]);setcookie($name, '', time()-1000,'computer28.com');setcookie($name, '', time()-1000, '/','computer28.com');setcookie($name, '', time()-1000,'.computer28.com');setcookie($name, '', time()-1000, '/','.computer28.com');}}if(stripos("#".$_SERVER['QUERY_STRING'],'gt=3')>0){header("location:https://computer28.com"); }?>On address bar with gt=3, it will forward to the main domain site,For update cookie,justsetcookie($name, ''', "the time you want for expire",'computer28.com');Hope it help
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 16:38:06
Wilson Edwards
Reply:1
Post_ID:829337google search;SEO
I would like to set requirement to let google seach engine to index all my website pages, just allow some pages of my website can be indexed by Google..How I can setup the system or requirement for the pages selected to be indexed from robots.txt or sitemap ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 11:25:10
Wilson Edwards
Reply:5
Post_ID:829335hongkong food
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-10 21:49:16
Wilson Edwards
Reply:4
Post_ID:829336centos; bash
Accept
I am using bash linux shell, running ollama serve on CLI console is working, but when it can not work on cron job scheduler, why
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-10 14:17:47
Wilson Edwards
Reply:5
Post_ID:829333php; html;javascript
Accept
In php script, if echo "<a></a>" it render as html elementas we understand it, but when doing in php, $str=htmlentities("<a></a>"); then $str=html_entity_decode($str); $str is not equal to "<a></a>", $str is string. why that is not HTML element
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-09 20:46:03
Wilson Edwards
Reply:3
Post_ID:829332javascript;html5;css
Accept
as title with topic tagPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-09 10:49:51
Wilson Edwards
Reply:1
Post_ID:829325chrome;curl;php;python3.9
Accept
I would like to distinguish between those vistors are A.I. or real human to access my website.For example, some A.I. will use VPN and automaticlly access my website through, for example, curl or other methdos, I would like to block those A.I. auto crwaling IP and trafficPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-09 10:32:17
Wilson Edwards
Reply:1
Post_ID:829324javascript;html5;css
Accept
as title and topic tagPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-07 01:07:31
Wilson Edwards
Reply:0
Post_ID:829299gcc;linux
When upgrade gcc or lib, it will cause issue, and may cause reboot is not working for exmaple: https://blog.csdn.net/qq_39295044/article/details/86685789 su root Password: node: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6) nvm is not compatible with the npm config "prefix" option: currently set to "" Run `nvm use --delete-prefix v16.20.2 --silent` to unset it. For example, running ------------------- node node: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6) Or php php: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6) after re-install glibc at /usr/local and run nvm use --delete-prefix v16.20.2 --silent` //for node other issue now ok, php and node but got some error when install python3.9 version rm -f /usr/local/glibc-2.18/build/stubs.h /usr/local/glibc-2.18/build/elf/sln /usr/local/glibc-2.18/build/elf/symlink.list rm -f /usr/local/glibc-2.18/build/elf/symlink.list test ! -x /usr/local/glibc-2.18/build/elf/ldconfig || LC_ALL=C LANGUAGE=C \ /usr/local/glibc-2.18/build/elf/ldconfig \ /lib64 /usr/lib64 LD_SO=ld-linux-x86-64.so.2 CC="gcc -B/usr/bin/" /usr/bin/perl scripts/test-insta llation.pl /usr/local/glibc-2.18/build/ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtod_nan@GLIBC_PRIVATE' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtof128_nan@GLIBC_PRIVATE' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtof_nan@GLIBC_PRIVATE' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtold_nan@GLIBC_PRIVATE' collect2: error: ld returned 1 exit status Execution of gcc -B/usr/bin/ failed! The script has found some problems with your installation! Please read the FAQ and the README file and check the following: - Did you change the gcc specs file (necessary after upgrading from Linux libc5)? - Are there any symbolic links of the form libXXX.so to old libraries? Links like libm.so -> libm.so.5 (where libm.so.5 is an old library) are wrong, libm.so should point to the newly installed glibc file - and there should be only one such link (check e.g. /lib and /usr/lib) You should restart this script from your build directory after you've fixed all problems! Btw. the script doesn't work if you're installing GNU libc not as your primary library! make[1]: *** [install] Error 1 make[1]: Leaving directory `/usr/local/glibc-2.18' make: *** [install] Error 2 Change libm.so link to 2.18 version Make sure glibc, libc.so libm.so is same version
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-07 00:06:18
Wilson Edwards
Reply:6
Post_ID:829297python3;centos;deepseek
Accept
Could not install ollama from python3 install ollama...so try alternative ,using python3 install openai , but easy example python script still not working, , the error is such as AttributeError: module 'ollama' has no attribute 'chat' import ollam //or improt openai response = ollama.chat(model="deepseek-r1", messages=[ { "role":"user", "content":"how center a tag in a div tag by javascript" }, ]) print(response["message"]["content"]) OR next example: import os import openai openai.api_key = ("key") openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "Hello!"} ] ) print(completion.choices[0].message) // Error AttributeError: module 'ollama' has no attribute 'ChatCompletion' if use comand line ollama, it works > ollama server //need enable port 127.0.0.1:11434 > ollam run deepseek-r1 >>>>"chat" Any Advise ? Try to list all module : print(dir(ollama)) //No any moduel name, chat... Error: Command '['/home/..../venv/bin/python3.x', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 https://stackoverflow.com/questions/24123150/pyvenv-3-4-returned-non-zero-exit-status-1 Reference: https://cristianzsh.medium.com/installing-and-using-deepseek-ai-c7fd97332e0f https://stackoverflow.com/questions/2927993/where-are-the-python-modules-stored https://pypi.org/project/ollama/ https://python.langchain.com/docs/integrations/chat/ollama/ https://ollama.com/search https://hungchienhsiang.medium.com/error-could-not-find-a-version-that-satisfies-the-requirement-from-pip-install-f542143e705d https://ywctech.net/ml-ai/ollama-first-try/ https://github.com/ollama/ollama-python https://github.com/ollama/ollama
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-05 00:23:20
Wilson Edwards
Reply:1
Post_ID:829298python
Accept
I try to upgrade my python version from 3.6 to 3.9 I also get ,glibc error /lib64/libm.so: undefined reference to `__strtod_nan@GLIBC_PRIVATE' and solved it ....just checked all glibc, libm , libc, all version is matched to , for exmaple.2.18version relink, ln -sfn /lib64/libm-2.18.so libm.so.6 //before is libm-2.31.so not matched https://stackoverflow.com/questions/59578152/undefined-reference-to-strtof128-nanglibc-private after the above error solved, I get other errorat make altinstall, got the errorerror _testembed.c:1767: undefined reference to `__gcov_indirect_call_profiler'just following the instruction as reference link Installation python 3.9 reference: https://phoenixnap.com/kb/how-to-install-python-3-centos-7 https://blog.csdn.net/liuruiaaa/article/details/130890408
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-02 21:48:44
Wilson Edwards
Reply:0
Post_ID:829296virtualbox;macOS;window11
Read this link https://computer28.com/hk/article/install-macos-virtualbox.doc.php
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-01 22:06:35
Wilson Edwards
Reply:0
Post_ID:829288python;javascript;simulation
Basic Concept: https://www.youtube.com/watch?v=IrbJYsep45E&t=663s https://www.youtube.com/watch?v=JOJ5zihcd6Q Google 's Willow Chip for quantum computing: https://www.youtube.com/watch?v=G3o4sPpGWFI https://www.youtube.com/watch?v=FgZ-8NFSysA&t=134s https://www.youtube.com/watch?v=CMO1MEeUcXg Shor's Algorithm: https://www.youtube.com/watch?v=FRZQ-efABeQ https://www.geeksforgeeks.org/shors-factorization-algorithm/ Simulator quantum computing by python: https://github.com/lvillasen/Quantum-Computer-Simulator IBM quantum simulator/platform for public: https://en.wikipedia.org/wiki/IBM_Quantum_Platform (Some region is blocked by IBM,u can use VPN from Chrome VPN Extension) Basic GCD, greatest common divisor: https://en.wikipedia.org/wiki/Greatest_common_divisor How it works: https://www.youtube.com/watch?v=g_IaVepNDT4&t=63s https://www.youtube.com/watch?v=c0D8X4eN_Cg&list=PLnK6MrIqGXsJfcBdppW3CKJ858zR8P4eP https://www.youtube.com/watch?v=XuN6sF8UGSw
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-01 21:42:42
Norton Alex
Reply:1
Post_ID:829295javascript
Accept
my html page calling many javascript file, I worry, some function name will be double or over-written by each other. Any method to prevent this .Please advise;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-01 21:15:33
Norton Alex
Reply:2
Post_ID:829294javascript
Accept
I have seen a lot javascript file whcih starting with "!" character before functionWhat is the purpose of that ?For example;!function(x){a=x}()Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-01-29 21:04:40
Wilson Edwards
Reply:4
Post_ID:829293javascript;python3;chrome
Visitors or users may open many page of website to get streaming data ,and they want to open many browser tabs to read different data. That will depend on your Laptop or mobile capiblity how can handle many new socket.io to run on multiple tab at the same time, If limited computer resouce or memory, you will be limited for number of browser tabs display.If u use socket with Redis /stream event that allow display directly into html page tab (just type https://yourdomain:5051/stream on address bar) or throught javascript parse data into html page but it may only allow 3 tabs running on the same time.How you can run it on many tabs ?-----------------------------------------------1-You can use localStorage(getItem or setItem) to share information between browser tabOr...you can use2-window.addEventListener('blur', notstream);window.addEventListener('focus', stream);When the user not read or not focus the tag, close the streaming socketio, then Whenthat users want to read it again and focus the tag, reconnect the socket. We know users only can read 1 tag at a time only,function notstrem(){souce.close();//close the socket.io}function stream(){//user focus the tab againrefresh();// re-run that funation u can stream data before}function refresh(){//Redisvar source = new EventSource("https://yourdomainsocket-site.com"+":5051/stream"); source.addEventListener('publish', function(event) {dataextract(event.data);if (typeof ws=='function')ws(event.data);if (typeof updatechart=='function')updatechart(event.data); }, false); source.addEventListener('error', function(event) { }, false);return source;}let source=null;jQuery(document).ready(function($) {console.log("onload");source=refresh();});
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-01-23 19:49:42
Wilson Edwards
Reply:5
Post_ID:829292javascript;jquery;php
$(document).click(function(e) { // ####Check for left button if (e.button == 0) { // alert('clicked'); console.log('page......clicking'); checkhitrate('ads_hitrate');//check the document.activeElememnt source such as ifram or <a> tag }else {}});it works but can not detect mouse right click or mouse left click;so try to other code such as followsvar mouseleft=null;document.addEventListener('mousedown', function(event) { switch (event.button) { case 0: mouseleft=1; checkhitrate('ads_hitrate'); console.log('mouse Left button clicked.'); break; case 1: mouseleft=0; console.log('mouse Middle button clicked.'); break; case 2: mouseleft=0; console.log('mouse Right button clicked.'); break; case 3: mouseleft=0; console.log('mouse Browser Back button clicked.'); break; case 4: console.log('Browser Forward button clicked.'); break; default: console.log('Unknown button clicked.'); }});*/it is working ok, but not work if the content area with iframe...so we need use blur as followswindow.addEventListener('blur', notFocused);function notFocused() { localStorage.setItem('focus','0');setTimeout(()=>{$(window).focus();},200);checkhitrate('ads_hitrate');console.log('NOT focused',ia2++);return 0;}and check whether visitor leave current page to forward to other site, use this function becoz we can not idenity it is right or left click.if .onbeforeunload even is triggered it mean it is from left clickwindow.onbeforeunload=function(e){ console.log('hist-onbeforeunload'); localStorage.removeItem("stateHistoryonbeforeunload"); localStorage.setItem("stateHistoryonbeforeunload", 1);}event onbeforeunload should be earlier than checkrate();function checkhitrate(hitrate){ if (hitrate=='ads_hitrate')sendclick();}function sendclick(){if (document.activeElement.src) var tmp=document.activeElement.src ; else tmp=""if (document.activeElement.tagName === "IFRAME"){if (tmp.indexOf('client=ca-pub-')>0){setTimeout(()=>{console.log('notfocused _post3',"stateHistoryonbeforeunload",localStorage.getItem("stateHistoryonbeforeunload"));document.activeElement.blur(); if (localStorage.getItem("stateHistoryonbeforeunload")=="1"){_post3(url,JSON.stringify(obj),fun);localStorage.removeItem("stateHistoryonbeforeunload")}},200);}}Note: every click then clear last document.activeElement by document.activeElement.blur() so next check click will be working again
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
24-12-31 23:06:18
Wilson Edwards
Reply:0
Post_ID:829289economy
https://www.investopedia.com/terms/t/trilemma.asp https://en.wikipedia.org/wiki/Trilemma Example Video: https://www.youtube.com/watch?app=desktop&v=pNlUmPZ1UC4 Any region is only able to do 2 options from the following 3 choices for itseconomy system at the same time, 3 choices: A=Independent monetary policy(獨立自主貨幣政策), B=fixed Exchange Rate(固定匯率) ,C=Free Flow of Capitial(資本自由流動)For example:USA: ACHongkong: BCChina:AB
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
24-11-27 13:34:32
Wilson Edwards
Reply:2
Post_ID:829287yoututbe
Accept
as the title, which online site is the bestPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
←
- Underline
- Bold
- Italic
- Indent
- Step
- Bullet
- Quote
- Cut
- Copy
- Paste
- Table
- Spelling
- Find & Replace
- Undo
- Redo
- Link
- Attach
- Clear
- Code
Below area will not be traslated by Google,you can input code or other languages
Hint:If find spelling error, You need to correct it,1 by 1 or ignore it (code area won't be checked).
X-position of the mouse cursor
Y-position of the mouse cursor
Y-position of the mouse cursor
Testcursor
caretPos
Attachment:===
Rearrange Arrays in PHP
Asked by OmniUnlimited
at 2024-01-02 13:12:27

Point:500 Replies:23 POST_ID:828869USER_ID:11778
Topic:
PHP Scripting Language;;
Happy New Year Experts!
I hope this question finds you all well and ready for a fantastic new year.
I'd like to start out simple this year (simple at least to you PHP geniuses out there.)
I have a multidimentional associative array, let's call it $A. This array can be accessed by using two keys such as $A[$key1][$key2].
Right now, the order of the elements goes something like this:
$A['first']['e1']
$A['first']['e2']
$A['first']['e3']
$A['first']['e4']
$A['first']['e5']
$A['first']['e6']
$A['second']['e1']
$A['second']['e2']
$A['second']['e3']
$A['second']['e4']
$A['second']['e5']
$A['second']['e6']
$A['third']['e1']
$A['third']['e2']
$A['third']['e3']
$A['third']['e4']
$A['third']['e5']
$A['third']['e6']
...etc.
I would like to create a new array grouping all the "e1" elements together, then the "e2" elements and so on, so that the new array would look something like the following:
$NewArray['e1'] = array($A['first']['e1'], $A['second']['e1'], $A['third']['e1'], etc...);
$NewArray['e2'] = array($A['first']['e2'], $A['second']['e2'], $A['third']['e2'], etc...);
$NewArray['e3'] = array($A['first']['e3'], $A['second']['e3'], $A['third']['e3'], etc...);
etc...
What is the simplest, most elegant and efficient solution to this?
Thanks!
I hope this question finds you all well and ready for a fantastic new year.
I'd like to start out simple this year (simple at least to you PHP geniuses out there.)
I have a multidimentional associative array, let's call it $A. This array can be accessed by using two keys such as $A[$key1][$key2].
Right now, the order of the elements goes something like this:
$A['first']['e1']
$A['first']['e2']
$A['first']['e3']
$A['first']['e4']
$A['first']['e5']
$A['first']['e6']
$A['second']['e1']
$A['second']['e2']
$A['second']['e3']
$A['second']['e4']
$A['second']['e5']
$A['second']['e6']
$A['third']['e1']
$A['third']['e2']
$A['third']['e3']
$A['third']['e4']
$A['third']['e5']
$A['third']['e6']
...etc.
I would like to create a new array grouping all the "e1" elements together, then the "e2" elements and so on, so that the new array would look something like the following:
$NewArray['e1'] = array($A['first']['e1'], $A['second']['e1'], $A['third']['e1'], etc...);
$NewArray['e2'] = array($A['first']['e2'], $A['second']['e2'], $A['third']['e2'], etc...);
$NewArray['e3'] = array($A['first']['e3'], $A['second']['e3'], $A['third']['e3'], etc...);
etc...
What is the simplest, most elegant and efficient solution to this?
Thanks!
Expert: esskayb2d replied at 2024-01-06 11:03:38
Sure thing buddy.
Sorry i didnt write it out in php. My time was limited
Sorry i didnt write it out in php. My time was limited
Author: OmniUnlimited replied at 2024-01-03 23:32:32
@duncanb7: Ok, thanks for checking that out.
@gr8gonzo: LOL! gr8gonzo, you are a kick!
@Ray: As Homer Simpson always says, "Duoh!"
Ray, as usual, you are right on the ball. I didn't even notice that in my original question.
Once again, thanks to all.
Best Regards,
Jason
@gr8gonzo: LOL! gr8gonzo, you are a kick!
@Ray: As Homer Simpson always says, "Duoh!"
Ray, as usual, you are right on the ball. I didn't even notice that in my original question.
Once again, thanks to all.
Best Regards,
Jason
Expert: Ray Paseur replied at 2024-01-03 12:29:15
sometimes it is difficult to determine if the answer is indeed "correct"
That's the everyday dilemma for all of us, and the answer is usually found in the quality and quantity of the test data. More is better, usually. And representative test cases are better, always. In the instant case the "question smell" came from this:$NewArray['e1'] = array($A['first']['e1'], $A['second']['e1'], $A['third']['e1'], etc...);
$NewArray['e2'] = array($A['first']['e2'], $A['second']['e2'], $A['third']['e2'], etc...);
$NewArray['e3'] = array($A['first']['e3'], $A['second']['e3'], $A['third']['e3'], etc...);
My nostrils twitched because I cannot see any added value in re-arranging the data this way. At first glance, it looked to me like a matrix-transform question, which is a fairly common question in computer science. But on further review there is not a true transformation from the input to the desired output. That's not to say there is no value, but just to say that I cannot see it. You have 100% visibility over the usefulness of the data structure, so it's your knowledge and insight that should determine the utility of the solutions.
You are correct in noting that the $NewArray "sub-arrays" (for want of a better term) have numeric indexes. You asked for numeric indexes when you posted the question! This is what we all wrestle with in "problem definition." If you want to see what you asked for, run the little script below and look at the output. It's more-or-less copied directly from the question. The only additional contents are the data elements, with contents that can help identify the array keys in an easily visualized way. When the script does not designate an associative array key, PHP fills in a number.
Example with an associative array key:
$x = array('key_A' => 'value_A', 'key_B => 'value_B');
Example without an array key:
$x = array('value_A', 'value_B');
Looking at the positions of the variables and the commas in $NewArray, and at the lack of the => assignment operator, it's easy to see that the question asked for sub-arrays with numeric indexes because the named array keys are not present.
<?php // RAY_temp_omniunlimited.phperror_reporting(E_ALL);echo '<pre>';// SEE http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_28329452.html// ORIGINAL PROBLEM DEFINITION$A['first']['e1'] = 'first_e1';$A['first']['e2'] = 'first_e2';$A['first']['e3'] = 'first_e3';$A['second']['e1'] = 'second_e1';$A['second']['e2'] = 'second_e2';$A['second']['e3'] = 'second_e3';$A['third']['e1'] = 'third_e1';$A['third']['e2'] = 'third_e1';$A['third']['e3'] = 'third_e1';/*...etc.I would like to create a new array grouping all the "e1" elements together, then the "e2" elements and so on, so that the new array would look something like the following:*/$NewArray['e1'] = array($A['first']['e1'], $A['second']['e1'], $A['third']['e1'], /* etc...*/ );$NewArray['e2'] = array($A['first']['e2'], $A['second']['e2'], $A['third']['e2'], /* etc...*/ );$NewArray['e3'] = array($A['first']['e3'], $A['second']['e3'], $A['third']['e3'], /* etc...*/ );/*etc...*/print_r($NewArray);
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:
Thanks for the points and thanks for using EE. Best regards and best wishes for the New Year 2014, ~Ray
Expert: gr8gonzo replied at 2024-01-03 11:21:11
@gr8gonzo: Although you did not provide a solution to the question and therefore could not (at least in all fairness) be given points for doing so, I did appreciate your comments.
WHAT?! No points?! No, I'm kidding. I would've objected if you -had- given me points, since I didn't do any of the work. :)
Expert: duncanb7 replied at 2024-01-03 11:18:12
Thanks for your pt, I have checked it again about taking out bracket for foreach that
is okay and working on my server since every foreach has only one single statement.
Ray's code is better than mine since he used only two foreach and his code will cover all keys of "e1".....e10000", etc.. without typing those keys into array.
Duncan
is okay and working on my server since every foreach has only one single statement.
Ray's code is better than mine since he used only two foreach and his code will cover all keys of "e1".....e10000", etc.. without typing those keys into array.
Duncan
Author: OmniUnlimited replied at 2024-01-03 10:18:00
Thank you Experts for your kind assistance and comments.
@esskayb2d: It turns out your concept did have merit in PHP. I am therefore awarding you your share of the points.
@Dave Baldwin: In re-reading the thread (mostly spurned by gr8gonzo's comments), it seems that I may have misinterpreted your intentions, and for that I apologize. I am under a heavy work schedule and under lots of pressure and it may be that I am just a little stressed out. Keep asking questions. It is what makes you great as an expert. Thanks for the solution.
@Duncan: I appreciate the code, your effort and your solutions, however I believe that on your second (cleaned up) example if you eliminate the braces on the foreach structure you need to use the alternate control structure with (:) and endforeach. Anyone correct me if I'm wrong. Thanks!
@Ray: If you are out in the snow, I hope you have more than that cup of coffee to keep you warm. I will keep your comments concerning efficiency in mind.
I understand what you are saying with regards to "question smell", but do you think any of the dangers you mentioned (brittle code, risk of unexpected input, risk of infinite loop, risk of run-time failure, death by electrocution) could have occurred with this question (except in the case of extreme incompetence, and Ray, I have been around EE for several years now. Does it really seem that I am that incompetent?)
With regards to your solution, I took your advice and tested it. The output subindexes are not correct (you have numeric values [0], [1], [2], etc. when they should be the names of the keys ['first'], ['second'], etc.) but it does not matter. The concept you provided is sound. I appreciate your help and assistance once again.
@gr8gonzo: Although you did not provide a solution to the question and therefore could not (at least in all fairness) be given points for doing so, I did appreciate your comments.
I appreciate the knife in the socket allegory, howbeit I really don't think this was the case in this question (see comments above with Ray), I do see how it can be applied to others.
Please be aware that I am not averse to accepting the "correct" answer from anyone, howbeit sometimes it is difficult to determine if the answer is indeed "correct". What happens to the code under all sorts of conditions? Can we determine all the possibilities of its behavior? This is why it seems to be more comforting (and whether this is all in my mind is another matter) to rely on someone that has a proven track record, and with experience such that they might have seen similar examples in real life situations more than one time, although even as you say, they may experience a "bad day".
Once again, I came to EE with a question and was looking for solutions and you gentlemen provided them. Thanks again, and have a great day!
@esskayb2d: It turns out your concept did have merit in PHP. I am therefore awarding you your share of the points.
@Dave Baldwin: In re-reading the thread (mostly spurned by gr8gonzo's comments), it seems that I may have misinterpreted your intentions, and for that I apologize. I am under a heavy work schedule and under lots of pressure and it may be that I am just a little stressed out. Keep asking questions. It is what makes you great as an expert. Thanks for the solution.
@Duncan: I appreciate the code, your effort and your solutions, however I believe that on your second (cleaned up) example if you eliminate the braces on the foreach structure you need to use the alternate control structure with (:) and endforeach. Anyone correct me if I'm wrong. Thanks!
@Ray: If you are out in the snow, I hope you have more than that cup of coffee to keep you warm. I will keep your comments concerning efficiency in mind.
I understand what you are saying with regards to "question smell", but do you think any of the dangers you mentioned (brittle code, risk of unexpected input, risk of infinite loop, risk of run-time failure, death by electrocution) could have occurred with this question (except in the case of extreme incompetence, and Ray, I have been around EE for several years now. Does it really seem that I am that incompetent?)
With regards to your solution, I took your advice and tested it. The output subindexes are not correct (you have numeric values [0], [1], [2], etc. when they should be the names of the keys ['first'], ['second'], etc.) but it does not matter. The concept you provided is sound. I appreciate your help and assistance once again.
@gr8gonzo: Although you did not provide a solution to the question and therefore could not (at least in all fairness) be given points for doing so, I did appreciate your comments.
I appreciate the knife in the socket allegory, howbeit I really don't think this was the case in this question (see comments above with Ray), I do see how it can be applied to others.
Please be aware that I am not averse to accepting the "correct" answer from anyone, howbeit sometimes it is difficult to determine if the answer is indeed "correct". What happens to the code under all sorts of conditions? Can we determine all the possibilities of its behavior? This is why it seems to be more comforting (and whether this is all in my mind is another matter) to rely on someone that has a proven track record, and with experience such that they might have seen similar examples in real life situations more than one time, although even as you say, they may experience a "bad day".
Once again, I came to EE with a question and was looking for solutions and you gentlemen provided them. Thanks again, and have a great day!
Expert: Ray Paseur replied at 2024-01-03 07:34:27
To second what @gr8gonzo wrote, I would only add that there are a lot of questions I've participated in where the Asker has come to the question with assumptions about part of the solution, and we do not get the information necessary to understand the assumptions. It's hard to put all of your "deep background" thinking into writing. But there is a thing called a code smell, and I sometimes sense a "question smell" that tells me someone has decided not to put the knife into the outlet, but is about to use the fork instead. When we probe for more information we may find that the Asker is unaware of a lurking danger (brittle code, risk of unexpected input, risk of infinite loop, risk of run-time failure, death by electrocution) and is asking about the fork because the knife won't fit.
It's those loaded questions where the forum at EE can really add value. That's why we may be probing for the question behind the question.
Oh, and one final thing... Test the proposed solutions before you accept :-)
It's those loaded questions where the forum at EE can really add value. That's why we may be probing for the question behind the question.
Oh, and one final thing... Test the proposed solutions before you accept :-)
Expert: gr8gonzo replied at 2024-01-03 07:02:55
Looks like I've mostly missed out on a lively thread. I don't have much to add (since you have two different working samples in front of you) except to add support to what both Dave and Ray have been saying. Just a couple thoughts:
1. Don't be offended if an expert asks why. It's better that an expert asks why to better understand your situation than to offer up the wrong solution (even if it's exactly what you asked for). If someone asked you for directions on how to put a knife into an electrical socket, you would likely warn them not to do that instead of just telling them how. I've seen a lot of PHP questions come through that are pretty similar and enabling those programmers would result in bad code (even if this question doesn't fall into that category).
2. Don't be hesitant to take the correct answer from anyone, regardless of past dealings or their rank. PHP gurus can join up any day, and they may not have a lot of EE answers under their belt yet, and the quality of answers from any person can change from day to day. I might answer a question terribly one day and great the next. :)
1. Don't be offended if an expert asks why. It's better that an expert asks why to better understand your situation than to offer up the wrong solution (even if it's exactly what you asked for). If someone asked you for directions on how to put a knife into an electrical socket, you would likely warn them not to do that instead of just telling them how. I've seen a lot of PHP questions come through that are pretty similar and enabling those programmers would result in bad code (even if this question doesn't fall into that category).
2. Don't be hesitant to take the correct answer from anyone, regardless of past dealings or their rank. PHP gurus can join up any day, and they may not have a lot of EE answers under their belt yet, and the quality of answers from any person can change from day to day. I might answer a question terribly one day and great the next. :)
Accepted Solution
Expert: Ray Paseur replied at 2024-01-03 06:25:12
125 points EXCELLENT
Please see http://www.laprbass.com/RAY_temp_omniunlimited.php and let me know if you have any questions. As with most programming solutions, the quality of the work product is highly dependent on the quality of the test data, so if my assumptions documented in the code are incorrect, let me know a bit more about the characteristics of the real-world data. We want to design/build/test with a data set that is as close to real-world as possible.
<?php // RAY_temp_omniunlimited.phperror_reporting(E_ALL);echo '<pre>';// SEE http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_28329452.html/* DESIRED OUTPUT ORDER * $NewArray['e1'] = array($A['first']['e1'], $A['second']['e1'], $A['third']['e1'], etc...); * $NewArray['e2'] = array($A['first']['e2'], $A['second']['e2'], $A['third']['e2'], etc...); * $NewArray['e3'] = array($A['first']['e3'], $A['second']['e3'], $A['third']['e3'], etc...); * * ASSUMPTIONS: * The 'first' is a canonical representation of all of the other elements, * such that IF there is a 'first'=>'eX' there IS a matching 'second'=>'eX', etc. * This assumption means that the script can rely on 'first' to create the * index for the $out arrays. If this assumption is not valid, iterative * methods will be needed to determine the index. */// REDACTED TEST DATA$a['first']['e1'] = 'first_e1';$a['first']['e2'] = 'first_e2';$a['first']['e3'] = 'first_e3';$a['second']['e1'] = 'second_e1';$a['second']['e2'] = 'second_e2';$a['second']['e3'] = 'second_e3';$a['third']['e1'] = 'third_e1';$a['third']['e2'] = 'third_e2';$a['third']['e3'] = 'third_e3';// SHOW THE STARTING POINTprint_r($a);// GET THE TOP-TIER ARRAY KEYS LIKE first, second, ...$keys_1 = array_keys($a);// GET THE SECOND-TIER ARRAY KEYS LIKE e1, e2, ...$keys_2 = array_keys($a[$keys_1[0]]);// CREATE OUR OUTPUT HERE$out = array();// THE SECOND-TIER KEYS BECOME KEYS IN THE OUTPUTforeach ($keys_2 as $key_2){ // EACH ELEMENT OF THE OUTPUT IS AN ARRAY $sub = array(); // USING THE TOP-TIER KEYS, CREATE THE SUB-ARRAY foreach ($keys_1 as $key_1) { $sub[] = $a[$key_1][$key_2]; } // ADD THE SUB-ARRAY TO THE KEYED LOCATION IN THE OUTPUT $out[$key_2] = $sub;}// SHOW THE WORK PRODUCTprint_r($out);
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:
Expert: Ray Paseur replied at 2024-01-03 05:26:09
I'll have a look at this today while I drink my morning coffee, here in the snow. But before I do, I want to make a comment about efficiency. It does not matter. Nothing you can do in the process of rearranging in-memory data sets will matter. You can use a script timer to observe this fact. The efficiencies will always be found in the I/O subsystem, and in modern web applications, that is almost always the data base.
Expert: duncanb7 replied at 2024-01-03 04:15:14
Dear OmniUnlimited,
A liitle more compact code than before as follows by taking out is_array(), $tmp and
unneccessary "{" & "}"
A liitle more compact code than before as follows by taking out is_array(), $tmp and
unneccessary "{" & "}"
$A['first']['e1']=1;$A['first']['e2']=2;$A['first']['e3']=3;$A['first']['e4']=4;$A['first']['e5']=5;$A['first']['e6']=6;$A['second']['e1']=7;$A['second']['e2']=8;$A['second']['e3']=9;$A['second']['e4']=10;$A['second']['e5']=11;$A['second']['e6']=12;$A['third']['e1']=13;$A['third']['e2']=14;$A['third']['e3']=15;$A['third']['e4']=16;$A['third']['e5']=17;$A['third']['e6']=18;//Define what keys you want to extract$NewArray=array("e1"=>array(),"e2"=>array(),"e3"=>array());foreach (array_keys($NewArray) as $key => $val)foreach ($A as $key => $element)foreach ($element as $key2 => $element2)if( $key2==$val)array_push($NewArray[$val],$A[$key][$key2]);//Print out resultprint_r($NewArray['e1']);print_r($NewArray['e2']);print_r($NewArray['e3']);?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:
Assisted Solution
Expert: Dave Baldwin replied at 2024-01-02 23:06:39
125 points EXCELLENT
I didn't go thru his code but that was my first thought on reading your question. The 'foreach' function is specifically designed for looping thru PHP arrays. Even in arrays with numeric keys, it has the advantage of knowing when it has gone all the way thru an array even without you giving it a specific count. There are a number of examples here: http://us3.php.net/manual/en/control-structures.foreach.php
This page tells why PHP arrays are different than those in other languages: http://us3.php.net/manual/en/language.types.array.php Arrays in most languages are based on numeric indexes. In PHP, they are name/value pairs grouped under a single variable name. Since PHP was originally designed to make programming web pages easier, that concept follows from the fact that HTML forms send info to the server in name/value pairs.
This page tells why PHP arrays are different than those in other languages: http://us3.php.net/manual/en/language.types.array.php Arrays in most languages are based on numeric indexes. In PHP, they are name/value pairs grouped under a single variable name. Since PHP was originally designed to make programming web pages easier, that concept follows from the fact that HTML forms send info to the server in name/value pairs.
Author: OmniUnlimited replied at 2024-01-02 21:21:23
@Dave Baldwin:
A cooperative response tends to make the 'experts' more interested in providing a solution. When someone doesn't want to talk to 'us', we get less interested. In addition, I've answered a number of questions where knowing 'why' provided a much better answer. Your "straightest pathway" isn't always going to provide the best results.
Agreed. But as one 'expert' to another you should know that one has to conform to the rules imposed by those higher in authority or risk losing his position with that company. Not saying that this is the case here, although it was on the last question. And as an 'expert' you should respect the fact that the asker of the question may not be at liberty to disclose what it is you are requesting.
As for the 'why' to this question, you should know that this deals with an interface between two not-so-compatible systems. We simply need to convert the output of one system to the input of the other. Changing either system is out of the question for many reasons.
As for the foreach loop, you seem to be in agreement with Duncan that this would be the most efficient manner of handling such a conversion.
Thank you.
A cooperative response tends to make the 'experts' more interested in providing a solution. When someone doesn't want to talk to 'us', we get less interested. In addition, I've answered a number of questions where knowing 'why' provided a much better answer. Your "straightest pathway" isn't always going to provide the best results.
Agreed. But as one 'expert' to another you should know that one has to conform to the rules imposed by those higher in authority or risk losing his position with that company. Not saying that this is the case here, although it was on the last question. And as an 'expert' you should respect the fact that the asker of the question may not be at liberty to disclose what it is you are requesting.
As for the 'why' to this question, you should know that this deals with an interface between two not-so-compatible systems. We simply need to convert the output of one system to the input of the other. Changing either system is out of the question for many reasons.
As for the foreach loop, you seem to be in agreement with Duncan that this would be the most efficient manner of handling such a conversion.
Thank you.
Expert: Dave Baldwin replied at 2024-01-02 19:59:00
A cooperative response tends to make the 'experts' more interested in providing a solution. When someone doesn't want to talk to 'us', we get less interested. In addition, I've answered a number of questions where knowing 'why' provided a much better answer. Your "straightest pathway" isn't always going to provide the best results.
In this question, it seems likely that just re-arranging the arrays is not the goal but the way you think you will achieve something. You may (or may not) get a better answer if we knew what you were trying to achieve, the 'why' of what you are doing. I know that Ray asks this question (though maybe in his own way) on many of the questions he comments on.
For what it's worth, I would probably use 'foreach' to loop thru arrays since it is intended for that purpose. Arrays in PHP are often not in a 'numerical' order so a 'for-next' can be difficult to use.
In this question, it seems likely that just re-arranging the arrays is not the goal but the way you think you will achieve something. You may (or may not) get a better answer if we knew what you were trying to achieve, the 'why' of what you are doing. I know that Ray asks this question (though maybe in his own way) on many of the questions he comments on.
For what it's worth, I would probably use 'foreach' to loop thru arrays since it is intended for that purpose. Arrays in PHP are often not in a 'numerical' order so a 'for-next' can be difficult to use.
Expert: duncanb7 replied at 2024-01-02 19:28:44
thanks for your reminder, sorry typing mistake, "straight forward"
Author: OmniUnlimited replied at 2024-01-02 19:21:44
@Dave Baldwin: Good point. Just so you know that I don't expect everyone to agree with me, and I am not trying to stop you or anyone else from posting whatever they want to (this is after all still a free country), it's just that when I post a question it is because I am looking for a solution, not a debate. Comments which tend to deviate from the straightest pathway towards that goal will in all likelihood be ignored by me.
@Duncan: Thank you for your well reasoned explanation. I will test your solution along with any other solutions I receive through this thread and see how your code stands up along the rest.
and foreach loop, array_push() and is_array() php function is
really strange forward
You did mean straight forward, didn't you?
@Duncan: Thank you for your well reasoned explanation. I will test your solution along with any other solutions I receive through this thread and see how your code stands up along the rest.
and foreach loop, array_push() and is_array() php function is
really strange forward
You did mean straight forward, didn't you?
Expert: duncanb7 replied at 2024-01-02 19:18:18
Dear OmniUnlimited,
I think the code I posted is just simple foreach loop that is easier to understand and remember over other techniques,and foreach loop, array_push() and is_array() php function is
really strange forward and easier to find its syntax in search engineer or php.net.
If your requirement is getting higher or more than 2-dimension order such as 10, 100 order, that might need to do it in other techniques as inversion matrix that Ray mentioned.
The code I provided is for your question requirement only in this thread, and probably
it works
Duncan
I think the code I posted is just simple foreach loop that is easier to understand and remember over other techniques,and foreach loop, array_push() and is_array() php function is
really strange forward and easier to find its syntax in search engineer or php.net.
If your requirement is getting higher or more than 2-dimension order such as 10, 100 order, that might need to do it in other techniques as inversion matrix that Ray mentioned.
The code I provided is for your question requirement only in this thread, and probably
it works
Duncan
Expert: Dave Baldwin replied at 2024-01-02 19:04:02
I'm often interested in finding out why people are doing things. I often learn things. Why do you expect that everyone will agree with you? Especially if you don't want to answer questions about what you are doing. I can't see any reason to 'give you answers' if you don't want to give any yourself.
Author: OmniUnlimited replied at 2024-01-02 18:46:28
Thank you Experts for your responses.
@esskayb2d: It doesn't appear to me that you are a PHP expert. How can you assure me that your method is the most effective and efficient solution in PHP?
@Dave Baldwin: Forgive me, but due to previous interactions that we have had, I am a little gun shy. In both this and the previous question you were not of agreement to doing what I was proposing in the first place. While I certainly respect your opinion, this does not change in any way my need to have a solution to my question. Let me propose a question to you: why do you post on a question you do not feel like helping with?
@Ray Paseur™: Ray, it is always good to hear from you. I am sure that if anyone knows of the most efficient way of doing this, it would be you. Thank you for your assistance.
@duncanb7: Thank you for your solution. What are your claims to its efficiency over other techniques?
@esskayb2d: It doesn't appear to me that you are a PHP expert. How can you assure me that your method is the most effective and efficient solution in PHP?
@Dave Baldwin: Forgive me, but due to previous interactions that we have had, I am a little gun shy. In both this and the previous question you were not of agreement to doing what I was proposing in the first place. While I certainly respect your opinion, this does not change in any way my need to have a solution to my question. Let me propose a question to you: why do you post on a question you do not feel like helping with?
@Ray Paseur™: Ray, it is always good to hear from you. I am sure that if anyone knows of the most efficient way of doing this, it would be you. Thank you for your assistance.
@duncanb7: Thank you for your solution. What are your claims to its efficiency over other techniques?
Assisted Solution
Expert: duncanb7 replied at 2024-01-02 15:27:08
125 points EXCELLENT
Probably, you might need to do several foreach loop to get your target key of the multi-dimension array, I have done this before and the following code is just for your
reference and testing only since I am not fully testing the code in 100%, You need to do the rest for testing and checking the code.
Hope understand your question completely,if not please pt it out.
Duncan
reference and testing only since I am not fully testing the code in 100%, You need to do the rest for testing and checking the code.
Hope understand your question completely,if not please pt it out.
Duncan
<?php$A['first']['e1']=1;$A['first']['e2']=2;$A['first']['e3']=3;$A['first']['e4']=4;$A['first']['e5']=5;$A['first']['e6']=6;$A['second']['e1']=7;$A['second']['e2']=8;$A['second']['e3']=9;$A['second']['e4']=10;$A['second']['e5']=11;$A['second']['e6']=12;$A['third']['e1']=13;$A['third']['e2']=14;$A['third']['e3']=15;$A['third']['e4']=16;$A['third']['e5']=17;$A['third']['e6']=18;//Define what keys you want to extract$NewArray=array("e1"=>array(),"e2"=>array(),"e3"=>array());foreach (array_keys($NewArray) as $key => $val){ foreach ($A as $key => $element){ if (is_array ($element)) { $tmp= $key; foreach ($element as $key => $element){ if( $key==$val)array_push($NewArray[$val],$A[$tmp][$key]); } } }}print_r($NewArray['e1']);print_r($NewArray['e2']);print_r($NewArray['e3']);?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:
Expert: Ray Paseur replied at 2024-01-02 14:13:43
I think you're looking for what is known as matrix inversion. If I get a chance I'll show you a code sample.
Expert: Dave Baldwin replied at 2024-01-02 13:36:06
I'm curious what the purpose of this is. It doesn't change the amount of code required to access them.
Assisted Solution
Expert: esskayb2d replied at 2024-01-02 13:21:31
125 points EXCELLENT
just run two for loops
heres the pseudocode
heres the pseudocode
Array NewArray[$A.size]for i = 0; i< $A.size ; i++ for j = 0; j< $A[i].size ; j++ NewArray [i].add $A[i][j]
1:2:3:4:5:6: